pp-facebook-marketplace
A write-gated Marketplace seller CLI for search, listing creation, photo upload, local watches, and replies. Trigger phrases: `search Facebook Marketplace`, `watch Marketplace listings`, `draft a Marketplace listing`, `reply to a Marketplace buyer`.
What this skill does
<!-- GENERATED FILE — DO NOT EDIT.
This file is a verbatim mirror of library/commerce/facebook-marketplace/SKILL.md,
regenerated post-merge by tools/generate-skills/. Hand-edits here are
silently overwritten on the next regen. Edit the library/ source instead.
See the repository agent guide, section "Generated artifacts: registry.json, cli-skills/". -->
# Facebook Marketplace — Printing Press CLI
## Prerequisites: Install the CLI
This skill drives the `facebook-marketplace-pp-cli` binary. **You must verify the CLI is installed before invoking any command from this skill.** If it is missing, install it first:
1. Install via the Printing Press installer. It defaults binaries to `$HOME/.local/bin` on macOS/Linux and `%LOCALAPPDATA%\Programs\PrintingPress\bin` on Windows:
```bash
npx -y @mvanhorn/printing-press-library install facebook-marketplace --cli-only
```
2. Verify: `facebook-marketplace-pp-cli --version`
3. Ensure the reported install directory is on `$PATH` for the agent/runtime that will invoke this skill.
If the `npx` install fails (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.26.3 or newer):
```bash
go install github.com/mvanhorn/printing-press-library/library/commerce/facebook-marketplace/cmd/facebook-marketplace-pp-cli@latest
```
If `--version` reports "command not found" after install, the runtime cannot see the binary directory on `$PATH`. Do not proceed with skill commands until verification succeeds.
## When to Use This CLI
Use this CLI for local, human-paced Facebook Marketplace workflows: searching, watching, triaging matches, drafting listings, and replying to seller inbox threads after explicit approval. Avoid using it for bulk automation or cross-platform scraping.
## Unique Capabilities
These capabilities aren't available in any other tool for this API.
### Seller workflow
- **`draft`** — Draft a Marketplace title, description, and price suggestion from photos and notes.
_Use this when preparing a seller listing before opening a write-gated post flow._
```bash
facebook-marketplace-pp-cli draft --photos chair-front.jpg,chair-tag.jpg --notes "walnut dining chair, small scratch on back" --json
```
- **`reply`** — Prepare and send a seller inbox reply only when `--write` and doctor gating both pass.
_Use this only for human-approved sell-side messaging._
```bash
facebook-marketplace-pp-cli reply --thread 1525836598898750 --message "Yes, it is still available." --write --json
```
### Buy-side workflow
- **`watch add`** — Persist a Marketplace search watch with deterministic keyword, price, and distance filters.
_Use this when the agent needs to monitor Marketplace without deciding relevance on every raw result._
```bash
facebook-marketplace-pp-cli watch add --name "eames" --query "eames lounge" --max-price 1500 --radius 60 --must-have-keywords "chair,lounge" --json
```
- **`matches`** — Show new watch matches after deterministic filtering.
_Use this when an agent needs the shortlist worth showing a human buyer._
```bash
facebook-marketplace-pp-cli matches --new --json
```
### Local mirror
- **`stale`** — Find local seller listings older than seven days with no engagement.
_Use this when deciding which seller listings need price changes or renewal._
```bash
facebook-marketplace-pp-cli stale --days 7 --json
```
## HTTP Transport
This CLI uses Chrome-compatible HTTP transport over HTTP/3 for browser-facing endpoints. It does not require a resident browser process for normal API calls.
## Command Reference
**composer** — Sell-side composer helper operations.
- `facebook-marketplace-pp-cli composer price_prediction` — Fetch Marketplace composer price prediction.
- `facebook-marketplace-pp-cli composer root` — Fetch Marketplace listing composer metadata.
- `facebook-marketplace-pp-cli composer shipping_options` — Fetch calculated shipping options for a draft listing.
**inbox** — Marketplace inbox and messaging operations.
- `facebook-marketplace-pp-cli inbox list` — Fetch Marketplace inbox overview.
- `facebook-marketplace-pp-cli inbox message_seller` — Send a Marketplace seller message.
- `facebook-marketplace-pp-cli inbox seller_threads` — Fetch Marketplace seller inbox threads.
- `facebook-marketplace-pp-cli inbox seller_threads_page` — Fetch a page of Marketplace seller inbox threads.
**listing** — Listing detail and sell-side listing operations.
- `facebook-marketplace-pp-cli listing change_availability` — Change a Marketplace listing availability state.
- `facebook-marketplace-pp-cli listing create` — Create a Marketplace listing from a prepared composer payload; pass `--photo` to upload local photos first.
- `facebook-marketplace-pp-cli listing delete` — Delete a Marketplace for-sale item.
- `facebook-marketplace-pp-cli listing get` — Fetch a Marketplace listing detail page payload.
- `facebook-marketplace-pp-cli listing media` — Fetch Marketplace listing media payload.
- `facebook-marketplace-pp-cli listing upload-photo` — Upload a local photo and return the Marketplace composer `photo_id`.
**marketplace** — Marketplace browse and location operations.
- `facebook-marketplace-pp-cli marketplace browse_feed` — Fetch Marketplace browse feed results.
- `facebook-marketplace-pp-cli marketplace set_browse_radius` — Set Marketplace browse radius.
- `facebook-marketplace-pp-cli marketplace set_buy_location` — Set Marketplace buying location.
**marketplace_search** — Marketplace search operations.
- `facebook-marketplace-pp-cli marketplace_search` — Search Marketplace listings.
**Hand-written commands**
- `facebook-marketplace-pp-cli draft` — AI listing drafter from photos and notes.
- `facebook-marketplace-pp-cli watch` — Buy-side deterministic watcher commands.
- `facebook-marketplace-pp-cli matches` — Show watcher matches after deterministic filtering.
- `facebook-marketplace-pp-cli stale` — Show local listings older than seven days with no engagement.
- `facebook-marketplace-pp-cli reply` — Write-gated sell-side message reply helper.
### Finding the right command
When you know what you want to do but not which command does it, ask the CLI directly:
```bash
facebook-marketplace-pp-cli which "<capability in your own words>"
```
`which` resolves a natural-language capability query to the best matching command from this CLI's curated feature index. Exit code `0` means at least one match; exit code `2` means no confident match — fall back to `--help` or use a narrower query.
## Recipes
### Create a buy-side watch
```bash
facebook-marketplace-pp-cli watch add --name "eames" --query "eames lounge" --max-price 1500 --radius 60 --json
```
Stores deterministic filter criteria locally so future runs can compare new listings.
### Draft a seller listing
```bash
facebook-marketplace-pp-cli draft --photos chair-front.jpg,chair-tag.jpg --notes "walnut dining chair, small scratch" --json
```
Produces listing copy before any write-gated Marketplace mutation.
To create with local photos, run `facebook-marketplace-pp-cli doctor` first, then pass `--write` and one or more `--photo` flags to `listing create`. The CLI uploads each local file, appends the returned `photo_id` values to `variables.input.data.common.photo_ids`, and then submits the create mutation.
## Auth Setup
Run `facebook-marketplace-pp-cli auth login --chrome` while logged in to Facebook in Chrome. The captured browser session is the credential; do not store session material in the Dropbox project workspace.
Run `facebook-marketplace-pp-cli doctor` to verify setup.
## Agent Mode
Add `--agent` to any command. Expands to: `--json --compact --no-input --no-color --yes`.
- **Pipeable** — JSON on stdout, errors on stderr
- **Filterable** — `--select` keeps a subset of fields. Dotted paths descend into nested structures; arrays traverse element-wise. Critical for keeping context small on verbose APIs:
```bash
facebook-marketplace-pp-cli iRelated in Image & Video
watch
IncludedWatch a video (URL or local path). Downloads with yt-dlp, extracts auto-scaled frames with ffmpeg, pulls the transcript from captions (or Whisper API fallback), and hands the result to Claude so it can answer questions about what's in the video.
physical-ai-defect-image-generation
IncludedUse when the user wants to orchestrate defect image generation, run associated setup, or handle outputs on OSMO. The Day 0 path handles cold-start with USD-to-ROI, image-edit augmentation, and AnomalyGen to create initial PCBA datasets. The Day 1 path performs inference and labeling on real images. This skill helps with first-time asset setup, creation of finetuning checkpoints, and configuring deployment. Trigger keywords: defect image generation, dig workflow, dig pipeline, defect image detection workflow, aoi pipeline, aoi anomalygen, usd2roi anomalygen, day 0 pcba, day 1 pcba, day 1 real-photo alignment, day 1 manual roi, metal surface anomaly, glass defect, anomalygen finetune, setup_pcb, setup_metal, setup_glass, setup_pretrained, dig setup, dig datasets, dig pretrained checkpoint, dig image-edit endpoint.
accelint-react-best-practices
IncludedReact performance optimization and best practices. ALWAYS use this skill when working with any React code - writing components, hooks, JSX; refactoring; optimizing re-renders, memoization, state management; reviewing for performance; fixing hydration mismatches; debugging infinite re-renders, stale closures, input focus loss, animations restarting; preventing remounting; implementing transitions, lazy initialization, effect dependencies. Even simple React tasks benefit from these patterns. Covers React 19+ (useEffectEvent, Activity, ref props). Triggers - useEffect, useState, useMemo, useCallback, memo, inline components, nested components, components inside components, re-render, performance, hydration, SSR, Next.js, useDeferredValue, combined hooks.
elevenlabs-agents
IncludedBuild conversational AI voice agents with ElevenLabs Platform using React, JavaScript, React Native, or Swift SDKs. Configure agents, tools (client/server/MCP), RAG knowledge bases, multi-voice, and Scribe real-time STT. Use when: building voice chat interfaces, implementing AI phone agents with Twilio, configuring agent workflows or tools, adding RAG knowledge bases, testing with CLI "agents as code", or troubleshooting deprecated @11labs packages, Android audio cutoff, CSP violations, dynamic variables, or WebRTC config. Keywords: ElevenLabs Agents, ElevenLabs voice agents, AI voice agents, conversational AI, @elevenlabs/react, @elevenlabs/client, @elevenlabs/react-native, @elevenlabs/elevenlabs-js, @elevenlabs/agents-cli, elevenlabs SDK, voice AI, TTS, text-to-speech, ASR, speech recognition, turn-taking model, WebRTC voice, WebSocket voice, ElevenLabs conversation, agent system prompt, agent tools, agent knowledge base, RAG voice agents, multi-voice agents, pronunciation dictionary, voice speed control, elevenlabs scribe, @11labs deprecated, Android audio cutoff, CSP violation elevenlabs, dynamic variables elevenlabs, case-sensitive tool names, webhook authentication
humanizer
IncludedHumanize AI-generated text by detecting and removing patterns typical of LLM output. Rewrites text to sound natural, specific, and human. Uses 28 pattern detectors, 560+ AI vocabulary terms across 3 tiers, and statistical analysis (burstiness, type-token ratio, readability) for comprehensive detection. Use when asked to humanize text, de-AI writing, make content sound more natural/human, review writing for AI patterns, score text for AI detection, or improve AI-generated drafts. Covers content, language, style, communication, and filler categories.
generating-mermaid-diagrams
IncludedSalesforce architecture diagrams using Mermaid with ASCII fallback. Use this skill when generating text-based diagrams for Salesforce architecture, OAuth flows, ERDs, integration sequences, or Agentforce structure. TRIGGER when: user says "diagram", "visualize", "ERD", or asks for sequence diagrams, flowcharts, class diagrams, or architecture visualizations in Mermaid. DO NOT TRIGGER when: user wants PNG/SVG image output (use generating-visual-diagrams), or asks about non-Salesforce systems.