Imported from mintplo/dotfiles (
pi/.pi/agent/skills/lazyweb/SKILL.md). Install upstream withnpx skills add mintplo/dotfiles --skill lazyweb. Copyright stays with the author.
Lazyweb
Use this skill when the user asks for UI inspiration, design research, app screenshots, product flow examples, onboarding patterns, pricing or paywall examples, competitive UI references, or feedback on an existing interface.
Lazyweb gives Pi access to real product screenshots and design patterns through the mcp tool backed by pi-mcp-adapter.
Pi MCP Tool
Use the generic mcp tool for Lazyweb database access:
- List configured MCP servers:
mcp({}) - List Lazyweb tools:
mcp({ server: "lazyweb" }) - Check connectivity/auth:
mcp({ tool: "lazyweb_health", args: "{}" }) - Search screenshots:
mcp({ tool: "lazyweb_search", args: "{\"query\":\"pricing page\",\"limit\":10}" }) - Find similar screenshots:
mcp({ tool: "lazyweb_find_similar", args: "{\"screenshot_id\":123,\"limit\":10}" }) - Compare an image:
mcp({ tool: "lazyweb_compare_image", args: "{\"image_url\":\"https://...\",\"limit\":10}" })
pi-mcp-adapter uses JSON strings for args, not object literals. The mcp tool is available when the pi-mcp-adapter package is installed and Pi has been restarted or /reload has run.
Token Handling
The Lazyweb bearer token is a free no-billing token for UI reference tools. It does not authorize purchases, paid spend, private user data, or destructive actions.
This dotfiles setup loads LAZYWEB_MCP_TOKEN from the local ignored Pi agent env file:
~/.pi/agent/.env
Do not write the token into tracked repo files. Do not commit it to public git history.
When To Use
- Before creating a landing page, app screen, onboarding flow, checkout, pricing page, dashboard, settings page, or mobile app UI.
- When asked to compare a design against real products.
- When asked to improve a screenshot or produce design recommendations.
- When a coding agent needs concrete UI examples instead of generic visual guesses.
When Not To Use
- Backend-only tasks.
- Database schema work.
- Legal, medical, finance, or non-design research.
- Generic code cleanup with no UI or product-design component.
Search Workflow
- Run
mcp({ tool: "lazyweb_health", args: "{}" })unless Lazyweb connectivity was already verified in the session. - Run
lazyweb_search2–4 times throughmcpwith different concrete phrasings.- Example:
mcp({ tool: "lazyweb_search", args: "{\"query\":\"pricing page with plan cards\",\"platform\":\"desktop\",\"limit\":10}" }) - Example:
mcp({ tool: "lazyweb_search", args: "{\"query\":\"mobile onboarding progress checklist\",\"platform\":\"mobile\",\"limit\":10}" })
- Example:
- Read each result's
visionDescriptionbefore using it as evidence. - Prefer fewer, directly relevant references over many loose matches.
- If a user asks for “more like this”, use
lazyweb_find_similarthroughmcp. - If a user provides an existing screenshot or URL, use
lazyweb_compare_imagethroughmcpwhen appropriate.
Reporting Guidance
When producing a reference report:
- Save durable output under
.lazyweb/<topic-or-task>/when the user asks for files or a reusable report. - Download referenced screenshots locally before putting them in committed or shared reports; avoid relying on expiring signed URLs.
- Group references by pattern, not just by company.
- Label provenance as
[Lazyweb]. - Summarize what the references have in common and how the pattern applies to the user's product.
Use Lazyweb for design evidence, not vibes.