Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/imoonkey/openweb/craigslistnpx skills add imoonkey/openweb --skill craigslistgit clone --depth 1 https://github.com/imoonkey/openwebWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00000 | $0.00539 |
| Opus 5 | $0.00000 | $0.00269 |
| Sonnet 5 | $0.00000 | $0.00108 |
| Haiku 4.5 | $0.00000 | $0.00054 |
Grade A, and why
craigslist scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
Craigslist
Overview
Classic US classifieds platform — search listings across cities and categories, view listing details, browse category structure. Pure server-rendered HTML, no JS framework.
Workflows
Search and view listings
getCategories(city)→code,name,sectionper categorysearchListings(category, city, query)→title,price,url,postId- Parse listing
url→ extractcategory,slug,id getListing(category, slug, id, city)→title,body,price,location,images,attributes
Quick search
searchListings(category, city, query)→title,price,url,postId- Parse
url→category,slug,id→getListingfor full details
Operations
| Operation | Intent | Key Input | Key Output | Notes |
|---|---|---|---|---|
| searchListings | Search listings by category + keyword | category (<- getCategories code), city, query |
title, price, url, postId | entry point; city defaults to sfbay |
| getListing | Full listing detail | category, slug, id (<- searchListings url path parts), city |
title, body, price, location, images, attributes | |
| getCategories | List category codes | city | name, code, section | entry point; homepage category links |
Quick Start
# Search SF apartments
openweb craigslist exec searchListings '{"category": "apa", "city": "sfbay", "query": "2br"}'
# Search NYC jobs
openweb craigslist exec searchListings '{"category": "jjj", "city": "newyork"}'
# Get listing details
openweb craigslist exec getListing '{"category": "apa", "slug": "sunny-2br-mission", "id": "7891234567", "city": "sfbay"}'
# Browse categories
openweb craigslist exec getCategories '{"city": "sfbay"}'
Common Category Codes
apa— apartments/housing for rentroo— rooms/sharedrea— real estate for salejjj— jobssss— all for-saleccc— communityggg— gigsbbb— services offered
What ships with it
9 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 51 lines · 0 tokens per session scan A cdca597d236a
craigslist is a skill published in the GitHub repository imoonkey/openweb (58 stars, last pushed 2mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 539 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
electron
Automate Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify, etc.) using agent-browser via Chrome DevTools Protocol. Use when the user needs to interact with an Electron app, automate a desktop app, connect to a running app, control a native app, or test an Electron application. Triggers include…
use-agent-browser-for-airi
Test AIRI display-model imports with agent-browser across stage-tamagotchi Electron, stage-web, and stage-pocket mobile web layouts. Use when uploading and verifying contributor-supplied Live2D ZIP, VRM, or MMD ZIP/PMX/PMD files through AIRI's model selector, including onboarding bypass, format-specific import…
opencli-sitemap-author
Use when creating or maintaining OpenCLI site sitemaps: agent-facing navigation, page-state, action, workflow, API-reference, pitfall, and fallback knowledge for a website. Use after browser exploration discovers durable site context, when a sitemap is stale, or when promoting local site knowledge into the repo.
playwright
Use when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via playwright-cli or the bundled wrapper script.
pinchtab-mcp
Use this skill when a task requires browser automation through PinchTab's MCP server connected to a remote browser instance. Covers navigation, element interaction, data extraction, form filling, multi-step flows, and session management via MCP tools.
peekaboo
Capture and automate macOS UI with the Peekaboo CLI.