Skip to content

Find a pasted Mobbin screen link without saving it first - #1

Merged
david-whimsical merged 2 commits into
mainfrom
david/paste-a-mobbin-link
Oct 29, 2026
Merged

david-whimsical merged 2 commits into
mainfrom
david/paste-a-mobbin-link

Conversation

@david-whimsical

Copy link
Copy Markdown
Collaborator

What changes for the user

Pasting a Mobbin screen link now just works. Before, the skill could only find the screen if the user had saved it to their Mobbin account first, because the Mobbin MCP has no lookup by ID. Now the agent finds it on its own and says "Found it: ZARA, product detail" before building.

How

  • scripts/mobbin_link.py reads the screen's public mobbin.com page (what a link preview shows): app, platform, category, the screen's patterns and UI elements when Mobbin has tagged them, and the preview card, saved so the agent can see the screen. It prints a search query such as ZARA product detail screen.
  • SKILL.md: the one-screen step searches with that query (adding a few words from the card when the screen is untagged), looks for the exact ID, and searches deeper with exclude_screen_ids (up to 4 searches). Then it falls back to the user's saved screens, and only after that asks the user.
  • README: drops "save it to your Mobbin account first"; "How it works" and "Privacy" mention the public page read.
  • Version 1.1.0, so installed plugins refresh their cache.

Safeguards

  • The screenshot still comes only from a Mobbin MCP result's image_url. The page and its card are used to recognise the screen, never as a source.
  • Requests only go to Mobbin's https hosts, including redirects, with size caps. Page text is cleaned up and treated as data.
  • If the page can't be read, the script still returns the link's kind and ID, so the saved-screens fallback runs as before.
  • Never saves anything to the user's Mobbin account.

Testing

  • 13 new tests in tests/test_mobbin_link.py (link shapes, tagged and untagged screens, unreadable pages, the card never leaving Mobbin, collection links making no request). 84 pass, ruff clean.
  • Live: a tagged ZARA screen and an untagged WHOOP screen were both found by search. An unknown ID falls back cleanly, and non-Mobbin links are refused.
  • End to end in an isolated Claude Code profile with --plugin-dir: a pasted link found the screen without it being saved.

mobbin_link.py reads the screen's public page for the app, its tags and
its link preview, and prints a search query. The skill searches with it,
goes deeper with exclude_screen_ids, and only then falls back to saved
screens or asks the user.
@david-whimsical
david-whimsical merged commit dcccc8a into main Oct 29, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant