← Back to Skills Marketplace
bluebluebbb

gt-core-skill

by gumtree-tech · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
36
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install gt-core-skill
Description
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...
README (SKILL.md)

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 python or a random virtualenv; use uv 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:

  1. Run uv sync.
  2. Open chrome://extensions/.
  3. Enable Developer Mode.
  4. Load the unpacked extension from extension/.
  5. Confirm Gumtree Bridge is 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 use uv run after uv 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|fair and repeat when needed
  • --seller-type trade|private and 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-login should treat page-embedded JS data as the primary source of truth.
  • __GUMTREE_ANALYTICS_CONFIG__, initialDataLayer, gumtreeDataLayer, legacy.loggedIn, and window.clientData are stronger signals than DOM text.
  • DOM labels such as Manage my Ads, My Orders, Favourites, My Alerts, My Details, Login, and Sign up are only fallbacks.

Authentication

  • login uses 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.
  • logout uses the user menu and submits logout-form.

Favourites

  • favourites opens https://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-favourite requires a logged-in session.
  • It checks favourite state before and after clicking and may return flags such as already_favourited or just_favourited.

Messages

  • messages opens https://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-message first enters messaging from the listing detail page, then reads or sends messages.
  • messages and detail-message both require a logged-in session.

Post Ad

  • post-ad calls 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 0 on success or 2 on 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-ad stops 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.
Usage Guidance
Install only if you trust the publisher with a live Gumtree browser session. Use a test account where possible, avoid passing real passwords on the command line, disable the extension and bridge when not actively using them, and require explicit review before any message, favourite, logout, or post-ad action.
Capability Tags
crypto
Capability Assessment
Purpose & Capability
The Gumtree purpose is coherent and many actions are disclosed, including login, search, favourites, messages, and post-ad category selection. The material mismatch is that the Chrome extension exposes a generic browser-page JavaScript evaluation channel rather than only fixed Gumtree workflows.
Instruction Scope
The skill instructions route agents to live account actions such as sending messages, favouriting listings, logging in/out, and starting ad posting, but they do not require immediate user confirmation for each external side effect.
Install Mechanism
Installation uses normal Python dependency setup plus a manually loaded Chrome extension. The extension and CLI bridge are disclosed, but this gives the skill a standing browser-control path after installation.
Credentials
The extension requests scripting, cookies, and debugger permissions and uses an unauthenticated localhost WebSocket bridge. Those powers are broader than needed for a narrowly scoped marketplace helper.
Persistence & Privilege
The extension auto-reconnects to the local bridge and the CLI can silently start the bridge server and open Chrome. This is not OS-level persistence, but it leaves a durable browser automation surface while the extension is installed.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install gt-core-skill
  3. After installation, invoke the skill by name or use /gt-core-skill
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release of gumtree-skills for live browser-based Gumtree automation. - Enables interacting with Gumtree using a real Chrome session via a local Python CLI and extension bridge. - Supports login state checks, login/logout, searching listings, viewing recommendations, managing favourites, reading detail pages, and messaging. - Allows starting the post-ad category flow (up to category selection). - Requires Python 3.11+, `uv`, and Google Chrome for setup. - Enforces strict boundaries for command use, authentication, and feature scope.
Metadata
Slug gt-core-skill
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

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.

💬 Comments