gt-core-skill
/install gt-core-skill
Gumtree Skills
Use this skill only for Gumtree tasks that must run in a real browser via this repository's bridge.
When To Use
- The user wants to inspect Gumtree content from a live browser session instead of plain HTTP scraping.
- The user wants to check login state, log in, log out, search listings, open favourites, read a detail page, send a Gumtree message, or start the post-ad flow.
- The user already has or can provide a Gumtree listing URL, keyword, login credentials, message text, or post-ad keyword.
What This Skill Does
- Runs Gumtree actions through
uv run python scripts/cli.py .... - Uses a local WebSocket bridge server plus the Chrome extension in
extension/. - Returns structured JSON from the CLI and should preserve key result fields in the final answer.
Hard Boundaries
- Do not use unofficial alternate Gumtree automation projects or invent nonexistent Gumtree APIs.
- Do not run commands with system
pythonor a random virtualenv; useuv run. - Do not claim support for features outside the implemented commands.
- Current scope stops at category selection for
post-ad; filling and submitting the final ad form is not implemented.
Setup And Environment
Work from the directory that contains SKILL.md, pyproject.toml, uv.lock, scripts/, and extension/.
Prerequisites:
- Python 3.11+
uv- Google Chrome
First-time setup:
- Run
uv sync. - Open
chrome://extensions/. - Enable Developer Mode.
- Load the unpacked extension from
extension/. - Confirm
Gumtree Bridgeis enabled.
Runtime notes:
- The CLI automatically checks and starts the local bridge server if needed.
- If the extension is not connected, the CLI may open Chrome and wait for the extension bridge.
- If you see
No module named 'websockets', run from this project directory and useuv runafteruv sync.
Command Routing
Use these commands exactly from the project root:
- Check login:
uv run python scripts/cli.py check-login - Login:
uv run python scripts/cli.py login --username "\x3Cemail>" --password "\x3Cpassword>" - Logout:
uv run python scripts/cli.py logout - Search:
uv run python scripts/cli.py search --keyword "\x3Ckeyword>" - Home recommendations:
uv run python scripts/cli.py home-recommend - Favourites:
uv run python scripts/cli.py favourites - Detail page:
uv run python scripts/cli.py detail --url "\x3Cdetail-url>" - Favourite detail page:
uv run python scripts/cli.py detail-favourite --url "\x3Cdetail-url>" - Messages:
uv run python scripts/cli.py messages - Detail message flow:
uv run python scripts/cli.py detail-message --url "\x3Cdetail-url>" - Post ad category flow:
uv run python scripts/cli.py post-ad --keyword "\x3Ckeyword>"
Installed entrypoint variants are also valid:
uv run gumtree-skills ...
Search And Filter Rules
For search, add optional flags only when the user asks for filtering or sorting:
--limit \x3CN>--search-location \x3Clocation>--search-category \x3Ccategory>--sort relevance|date|price_lowest_first|price_highest_first|distance--distance \x3CN>--min-price \x3CN>--max-price \x3CN>--condition as_good_as_new|good|new|fairand repeat when needed--seller-type trade|privateand repeat when needed--mobile-storage-capacity \x3Cvalue>--common-for-sale-colour \x3Cvalue>--mobile-model-apple \x3Cvalue>
Preserve Gumtree's default search behavior unless the user asks to constrain it.
Feature-Specific Notes
Login State
check-loginshould treat page-embedded JS data as the primary source of truth.__GUMTREE_ANALYTICS_CONFIG__,initialDataLayer,gumtreeDataLayer,legacy.loggedIn, andwindow.clientDataare stronger signals than DOM text.- DOM labels such as
Manage my Ads,My Orders,Favourites,My Alerts,My Details,Login, andSign upare only fallbacks.
Authentication
loginuses the page login modal, switches to email login, then submits the email and password.- Credential arguments appear in shell history; avoid unnecessary repetition in summaries.
logoutuses the user menu and submitslogout-form.
Favourites
favouritesopenshttps://www.gumtree.com/my-account/favourites.- The extractor prefers
window.clientData.favouriteAds.adverts. - If the user is not logged in, Gumtree may redirect to login or return empty results.
Detail Favourite
detail-favouriterequires a logged-in session.- It checks favourite state before and after clicking and may return flags such as
already_favouritedorjust_favourited.
Messages
messagesopenshttps://www.gumtree.com/manage/messages.- Add
--conversation-id "\x3Cid>"to target a specific conversation. - Add
--message "\x3Ctext>"to send a message in the current or selected conversation. detail-messagefirst enters messaging from the listing detail page, then reads or sends messages.messagesanddetail-messageboth require a logged-in session.
Post Ad
post-adcalls Gumtree's category suggestion API with the provided keyword.- With only
--keyword, it returns suggested categories for user confirmation. - Add
--category-name "\x3Cname>"for fuzzy name matching. - Add
--category-index \x3Cindex>to pick a suggestion directly. - After category selection it navigates to
/postad/create?categoryId=\x3Cid>.
Response Handling
- The CLI prints JSON and exits with
0on success or2on failure. - Keep the JSON structure intact when possible and summarize only the most important fields.
- If a command fails, report the CLI error instead of fabricating results.
Known Limitations
- No session import mode.
- No official Gumtree API mode.
- No favourite sync or general favourite management beyond
detail-favourite. post-adstops after category selection and redirect.- All content extraction depends on the live browser DOM and embedded page data, so site changes may require script updates.
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install gt-core-skill - After installation, invoke the skill by name or use
/gt-core-skill - Provide required inputs per the skill's parameter spec and get structured output
What is gt-core-skill?
Use this skill when the user needs to work with Gumtree in a real Chrome browser session. It runs the local Python CLI and Chrome extension bridge to: - chec... It is an AI Agent Skill for Claude Code / OpenClaw, with 36 downloads so far.
How do I install gt-core-skill?
Run "/install gt-core-skill" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is gt-core-skill free?
Yes, gt-core-skill is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does gt-core-skill support?
gt-core-skill is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created gt-core-skill?
It is built and maintained by gumtree-tech (@bluebluebbb); the current version is v1.0.0.