Skill
jimmy-johns
First terminal CLI for Jimmy John's ordering — local Unwich conversion, agent-native JSON, every endpoint typed.
When to use jimmy-johns
Choose if
You're inside an agent loop that needs to actually place or compose a Jimmy John's order — group lunch carts with dietary filters, one-shot reorders, local Unwich conversion without API roundtrips — and want typed exit codes plus agent-native JSON instead of scraping the website. Alternative class is using a generic browser-automation MCP (Playwright/Stagehand) against the JJ site, which is brittler under PerimeterX and slower per call.
Avoid if
You need a restaurant-agnostic food-delivery layer (DoorDash, Uber Eats, Grubhub) — this is Jimmy John's only by scope. Also avoid if your sandbox can't keep a persistent cookie jar across runs, since PerimeterX session fingerprinting will block stateless cold-start invocations.
Risk Flags
- MEDIUM auth PerimeterX bot detection fingerprints automation sessions; once flagged the agent gets HTTP 403 from every API call for ~1 hour. Cookie capture requires Chrome closed (or browser-use export path); exit code 4 surfaces auth failure.
- MEDIUM rate_limit Rate-limited state surfaces as exit code 7; the README does not publish concrete thresholds, so heavy ordering workloads need backoff discipline.
- LOW data_quality Offline menu/store data can go stale; refresh failures fall back to the existing local cache with a warning rather than erroring out.
Cost
Type: Free · Free tier: The CLI binary itself is free to install. No upstream paid API key required; the agent authenticates against Jimmy John's consumer endpoints via cookie-based session capture. PerimeterX bot protection means flagged sessions stay flagged for ~1 hour, so the practical cost is operator attention to session hygiene.
Install
Default
npx -y @mvanhorn/printing-press install jimmy-johns
# Capture a Jimmy John's session cookie (Chrome must be closed during extraction
# or use the browser-use export path) before any order endpoint will work.
Estimated time to first success: ~10 min
Dependencies
Minimum runtime: Node.js 18+ (via npx) — pre-built macOS/Unix binaries available as fallback
Distribution
- Repository
- https://github.com/mvanhorn/printing-press-library
- License
- MIT