Agent SkillsNeverSight/learn-skills.dev › lazyweb-add-inspo-source

lazyweb-add-inspo-source

GitHub

连接外部设计灵感库(如Mobbin、Dribbble),通过无头浏览器认证并持久化会话,使Lazyweb设计技能能自动检索这些源。

data/skills-md/aboul3ata/lazyweb-skill/lazyweb-add-inspo-source/SKILL.md NeverSight/learn-skills.dev

Trigger Scenarios

add inspo source connect Mobbin add design source

Install

npx skills add NeverSight/learn-skills.dev --skill lazyweb-add-inspo-source -g -y
More Options

Non-standard path

npx skills add https://github.com/NeverSight/learn-skills.dev/tree/main/data/skills-md/aboul3ata/lazyweb-skill/lazyweb-add-inspo-source -g -y

Use without installing

npx skills use NeverSight/learn-skills.dev@lazyweb-add-inspo-source

指定 Agent (Claude Code)

npx skills add NeverSight/learn-skills.dev --skill lazyweb-add-inspo-source -a claude-code -g -y

安装 repo 全部 skill

npx skills add NeverSight/learn-skills.dev --all -g -y

预览 repo 内 skill

npx skills add NeverSight/learn-skills.dev --list

SKILL.md

Frontmatter
{
    "name": "lazyweb-add-inspo-source",
    "description": "Connect an external inspiration source (Mobbin, Savee, Dribbble, Behance, etc.)\nas a first-class source in all Lazyweb design skills. Authenticates via headless\nbrowser, persists session cookies, and registers the source so future design\nresearch automatically includes it alongside Lazyweb.\nTrigger on: \"add inspo source\", \"add inspiration source\", \"connect Mobbin\",\n\"connect Savee\", \"add design source\", \"connect inspiration\", \"add Dribbble\",\n\"link Behance\".\n",
    "allowed-tools": [
        "Bash",
        "Read",
        "Write",
        "AskUserQuestion"
    ]
}

Add Inspiration Library

Connect an external design inspiration library so all Lazyweb design skills (/lazyweb-design-research, /lazyweb-design-improve, /lazyweb-design-brainstorm, /lazyweb-quick-references) search it alongside Lazyweb's database.

No adapters or scrapers needed — Claude uses the browse tool to navigate the library UI at search time, the same way it browses any website.

Browse Setup

LB=""
# Check lazyweb-skill browse first
for _P in "$(pwd)/.claude/skills/lazyweb-skill/browse/dist/browse" ~/.claude/skills/lazyweb-skill/browse/dist/browse; do
  [ -x "$_P" ] && LB="$_P" && break
done
# Fall back to gstack browse
if [ -z "$LB" ]; then
  _ROOT=$(git rev-parse --show-toplevel 2>/dev/null)
  [ -n "$_ROOT" ] && [ -x "$_ROOT/.claude/skills/gstack/browse/dist/browse" ] && LB="$_ROOT/.claude/skills/gstack/browse/dist/browse"
  [ -z "$LB" ] && [ -x ~/.claude/skills/gstack/browse/dist/browse ] && LB=~/.claude/skills/gstack/browse/dist/browse
fi
[ -x "$LB" ] && echo "BROWSE_READY: $LB" || echo "NO_BROWSE"

If NO_BROWSE: This skill requires the browse tool. Tell the user: "Browse tool not found. Install it with: cd ~/.claude/skills/lazyweb-skill/browse && ./setup" Then stop.

Workflow

1. Ask Which Library

If the user didn't specify, ask which library to connect. Common options:

Library URL Search URL
Mobbin https://mobbin.com https://mobbin.com/browse/ios/apps
Savee https://savee.it https://savee.it/search/
Dribbble https://dribbble.com https://dribbble.com/search
Behance https://www.behance.net https://www.behance.net/search/projects
Awwwards https://www.awwwards.com https://www.awwwards.com/websites

If the user wants a library not listed here, ask for:

  • Name of the library
  • Base URL
  • Search URL (the page where you can type a search query)

2. Check If Already Connected

cat ~/.lazyweb/libraries.json 2>/dev/null || echo '{"libraries":[]}'

If the library is already in the list, tell the user it's already connected and ask if they want to re-authenticate (useful if session expired).

3. Authenticate via Headless Browser

Navigate to the library and hand off to the user for login:

# Open the library's login page
$LB goto "{url}"

# Hand off to visible Chrome so user can log in
$LB handoff "Log in to {name}. Close this window or press Enter when done."

The handoff opens a visible Chrome window where the user can:

  • Log in with email/password
  • Complete OAuth flows
  • Handle 2FA/CAPTCHA

After the user completes login:

# Resume headless control with cookies preserved
$LB resume

4. Verify Authentication

Navigate to the search page and confirm we're logged in:

$LB goto "{searchUrl}"
$LB snapshot -i

Check the snapshot for signs of being logged in (user avatar, account menu, no login prompts). If it looks like we're not authenticated, tell the user and offer to retry.

5. Test Search

Do a quick test search to confirm everything works:

$LB snapshot -i
# Find the search input and type a test query
$LB fill @eN "pricing page"
$LB press Enter
# Wait briefly for results
$LB snapshot -i

If results load successfully, the connection works.

6. Save Library Config

mkdir -p ~/.lazyweb

Read existing config, add the new library, write back:

{
  "libraries": [
    {
      "name": "Mobbin",
      "url": "https://mobbin.com",
      "searchUrl": "https://mobbin.com/browse/ios/apps",
      "addedAt": "2026-03-26"
    }
  ]
}

Write to ~/.lazyweb/libraries.json.

7. Confirm to User

Tell the user:

  • "{Name} is now connected as an inspiration source."
  • "All Lazyweb design skills will now search {Name} alongside Lazyweb's database."
  • "If your session expires, run /lazyweb-add-inspo-source again to reconnect."
  • "To disconnect, run /lazyweb-remove-inspo-source."

Important Notes

  • Session persistence: Browse cookies persist within a server session (30 min idle timeout). If the session expires between uses, the design skills will detect this and prompt the user to reconnect.
  • No adapters: Claude navigates each library's UI at search time using browse snapshots and interactions. This means it works with any library, even ones that redesign their UI.
  • Multiple libraries: Users can connect as many libraries as they want. Each gets searched during design research.

Version History

  • e0220ca Current 2026-07-05 22:19

Same Skill Collection

data/skills-md/00prabalk00/claude-skills/knowledge-base-gap-finder/SKILL.md
data/skills-md/01000001-01001110/agent-jira-skills/jira-agile/SKILL.md
data/skills-md/01000001-01001110/agent-jira-skills/jira-auth/SKILL.md
data/skills-md/01000001-01001110/agent-jira-skills/jira-issues/SKILL.md
data/skills-md/01000001-01001110/agent-jira-skills/jira-project-management/SKILL.md
data/skills-md/01000001-01001110/agent-jira-skills/jira-projects/SKILL.md
data/skills-md/01000001-01001110/agent-jira-skills/jira-safe/SKILL.md
data/skills-md/01000001-01001110/agent-jira-skills/jira-search/SKILL.md
data/skills-md/01000001-01001110/agent-jira-skills/jira-spaces/SKILL.md
data/skills-md/01000001-01001110/agent-jira-skills/jira-transitions/SKILL.md
data/skills-md/0731coderlee-sudo/wechat-publisher/wechat-publisher/SKILL.md
data/skills-md/0froq/skills/conventionalcommits/SKILL.md
data/skills-md/0froq/skills/nuxt/SKILL.md
data/skills-md/0froq/skills/oq/SKILL.md
data/skills-md/0froq/skills/pinia/SKILL.md
data/skills-md/0froq/skills/pnpm/SKILL.md
data/skills-md/0froq/skills/slidev/SKILL.md
data/skills-md/0froq/skills/tsdown/SKILL.md
data/skills-md/0froq/skills/turborepo/SKILL.md
data/skills-md/0froq/skills/unocss/SKILL.md
data/skills-md/0froq/skills/vitepress/SKILL.md
data/skills-md/0froq/skills/vitest/SKILL.md
data/skills-md/0froq/skills/vue-best-practices/SKILL.md
data/skills-md/0froq/skills/vue-router-best-practices/SKILL.md
data/skills-md/0froq/skills/vue-testing-best-practices/SKILL.md
data/skills-md/0froq/skills/vue/SKILL.md
data/skills-md/0froq/skills/vueuse-functions/SKILL.md
data/skills-md/0froq/skills/web-design-guidelines/SKILL.md
data/skills-md/0juano/agent-skills/bondterminal-x402/SKILL.md
data/skills-md/0juano/agent-skills/edgeone-pages-deploy/SKILL.md
data/skills-md/0juano/agent-skills/ley-ar/SKILL.md
data/skills-md/0juano/agent-skills/ticktick/SKILL.md
data/skills-md/0juano/agent-skills/x-image-cards/SKILL.md
data/skills-md/0juano/x-image-cards/x-image-cards/SKILL.md
data/skills-md/0x0funky/agent-sprite-forge/generate2dsprite/SKILL.md
data/skills-md/0x0funky/agent-sprite-forge/video2dsprite/SKILL.md
data/skills-md/0x2e/superpowers/brainstorming/SKILL.md
data/skills-md/0x2e/superpowers/dispatching-parallel-agents/SKILL.md
data/skills-md/0x2e/superpowers/executing-plans/SKILL.md
data/skills-md/0x2e/superpowers/finishing-a-development-branch/SKILL.md
data/skills-md/0x2e/superpowers/receiving-code-review/SKILL.md
data/skills-md/0x2e/superpowers/requesting-code-review/SKILL.md
data/skills-md/0x2e/superpowers/subagent-driven-development/SKILL.md
data/skills-md/0x2e/superpowers/systematic-debugging/SKILL.md
data/skills-md/0x2e/superpowers/test-driven-development/SKILL.md
data/skills-md/0x2e/superpowers/using-git-worktrees/SKILL.md
data/skills-md/0x2e/superpowers/using-superpowers/SKILL.md
data/skills-md/0x2e/superpowers/verification-before-completion/SKILL.md
data/skills-md/0x2e/superpowers/writing-plans/SKILL.md
data/skills-md/0x2e/superpowers/writing-skills/SKILL.md

Metadata

Files
0
Version
e4a0f95
Hash
705591f5
Indexed
2026-07-05 22:19

trang chủ - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-06 05:27
浙ICP备14020137号-1 $bản đồ khách truy cập$