From find-apartments
Use when scraping Facebook group rental listings using Chrome DevTools MCP tools — requires user to be logged into Facebook in their local Chrome browser
How this skill is triggered — by the user, by Claude, or both
Slash command
/find-apartments:search-facebookThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Scrapes rental listings from Facebook groups using Chrome DevTools MCP tools. Requires the user to be logged into Facebook in their local Chrome browser.
Scrapes rental listings from Facebook groups using Chrome DevTools MCP tools. Requires the user to be logged into Facebook in their local Chrome browser.
config.yaml under facebook_groups.You will receive:
city — city name in Hebrew (e.g., "הוד השרון")min_rooms — minimum number of rooms (e.g., 5)groups — array of Facebook group URLs from configmcp__chrome-devtools__list_pages
If this fails, return empty results with a note: "Chrome DevTools unavailable — Facebook skipped."
For each group URL in the config:
mcp__chrome-devtools__navigate_page
URL: https://www.facebook.com/groups/XXXXXXXXX
mcp__chrome-devtools__take_screenshot
Check the screenshot:
Scroll down multiple times to load recent posts:
() => { window.scrollBy(0, 1500); return 'scrolled'; }
Repeat 4-5 times. Facebook loads posts dynamically — take screenshots between scrolls to verify new content.
Use evaluate_script to extract post text:
() => {
const posts = document.querySelectorAll('[data-ad-comet-preview="message"], [role="article"]');
return Array.from(posts).slice(0, 20).map(post => ({
text: post.innerText?.substring(0, 1000) || '',
links: Array.from(post.querySelectorAll('a')).map(a => a.href)
}));
}
From the extracted posts, filter for ones that mention:
For each relevant post, parse the text to extract:
Use click on the post timestamp to get the permalink URL if needed.
{
"url": "https://www.facebook.com/groups/XXXXX/posts/YYYYY",
"source": "Facebook",
"city": "{city}",
"address": "extracted from post text",
"neighborhood": "",
"rooms": 5,
"floor": "",
"size_sqm": null,
"price": 8500,
"mamad": null,
"parking": null,
"elevator": null,
"ac": null,
"balcony": null,
"pets": null,
"available_from": "",
"contact": "extracted phone number if visible",
"images": []
}
null for missing fields.Return the array of normalized listings from all groups. Report: groups searched, posts scanned, matching listings found. List any inaccessible groups separately.
npx claudepluginhub cxt9/find-apartments --plugin find-apartmentsCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.