[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M698VP84FNM6G9MR1HPX7MF7":3,"skill-same:01M698VP84FNM6G9MR1HPX7MF7":106},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":8,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":14,"categories":15,"keywords":16,"publishedAt":17,"linkOnly":18,"markdownContent":19,"markdownBody":19,"frontMatter":20,"refName":21,"commitSha":22,"skillDirectory":23,"forksCount":24,"repositoryHtmlUrl":25,"repositoryHomepageUrl":26,"ownerHtmlUrl":27,"ownerBlogUrl":26,"ownerDescription":28,"updatedAt":29,"install":30,"resources":43},"01M698VP84FNM6G9MR1HPX7MF7","lobster",null,"openclaw\u002Fopenclaw","openclaw","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F252820863?v=4","01M698P3FSAZ6B4R928ZF19KPT","01M698PDMDRVH56MV30D253NFP",394302,"MIT","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fextensions\u002Flobster\u002FSKILL.md",[],[5],"2026-11-10 10:12:30",false,"# Lobster\n\nLobster executes multi-step workflows with approval checkpoints. Use it when:\n\n- User wants a repeatable automation (triage, monitor, sync)\n- Actions need human approval before executing (send, post, delete)\n- Multiple tool calls should run as one repeatable operation\n\n## When to use Lobster\n\n| User intent                                            | Use Lobster?                                  |\n| ------------------------------------------------------ | --------------------------------------------- |\n| \"Triage my email\"                                      | Yes — multi-step, may send replies            |\n| \"Send a message\"                                       | No — single action, use message tool directly |\n| \"Check my email every morning and ask before replying\" | Yes — scheduled workflow with approval        |\n| \"What's the weather?\"                                  | No — simple query                             |\n| \"Monitor this PR and notify me of changes\"             | Yes — stateful, recurring                     |\n\n## Basic usage\n\n### Run a pipeline\n\n```json\n{\n  \"action\": \"run\",\n  \"pipeline\": \"gog.gmail.search --query 'newer_than:1d' --max 20 | email.triage\"\n}\n```\n\nReturns structured result:\n\n```json\n{\n  \"protocolVersion\": 1,\n  \"ok\": true,\n  \"status\": \"ok\",\n  \"output\": [{ \"summary\": {...}, \"items\": [...] }],\n  \"requiresApproval\": null\n}\n```\n\n### Handle approval\n\nIf the workflow needs approval:\n\n```json\n{\n  \"status\": \"needs_approval\",\n  \"output\": [],\n  \"requiresApproval\": {\n    \"prompt\": \"Send 3 draft replies?\",\n    \"items\": [...],\n    \"resumeToken\": \"...\"\n  }\n}\n```\n\nPresent the prompt to the user. If they approve:\n\n```json\n{\n  \"action\": \"resume\",\n  \"token\": \"\u003CresumeToken>\",\n  \"approve\": true\n}\n```\n\n## Example workflows\n\n### Email triage\n\n```\ngog.gmail.search --query 'newer_than:1d' --max 20 | email.triage\n```\n\nFetches recent emails, classifies into buckets (needs_reply, needs_action, fyi).\n\n### Email triage with approval gate\n\n```\ngog.gmail.search --query 'newer_than:1d' | email.triage | approve --prompt 'Process these?'\n```\n\nSame as above, but halts for approval before returning.\n\n## Key behaviors\n\n- **Deterministic**: Same input → same output (no LLM variance in pipeline execution)\n- **Approval gates**: `approve` command halts execution, returns token\n- **Resumable**: Use `resume` action with token to continue\n- **Structured output**: Always returns JSON envelope with `protocolVersion`\n\n## Don't use Lobster for\n\n- Simple single-action requests (just use the tool directly)\n- Queries that need LLM interpretation mid-flow\n- One-off tasks that won't be repeated\n",{},"main","f1c93577085244aa96aa87b53a2df9b59d293bd7","extensions\u002Flobster",82862,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw","https:\u002F\u002Fopenclaw.ai","https:\u002F\u002Fgithub.com\u002Fopenclaw","Your personal, open source AI assistant.","2026-11-11 08:46:30",{"source":7,"skillName":5,"commands":31,"prompt":41,"zipAvailable":42},[32,35,38],{"tool":33,"command":34},"npx","npx skills add openclaw\u002Fopenclaw --skill lobster",{"tool":36,"command":37},"bunx","bunx skills add openclaw\u002Fopenclaw --skill lobster",{"tool":39,"command":40},"pnpm","pnpm dlx skills add openclaw\u002Fopenclaw --skill lobster","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fextensions\u002Flobster\u002FSKILL.md",true,[44,50,54,60,66,70,74,78,82,86,90,94,98,102],{"path":45,"resourceType":46,"resourceTypeDesc":47,"sizeBytes":48,"sourceHtmlUrl":49},"assets\u002Factivity.svg","ASSET","资产文件",656,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fextensions\u002Flobster\u002Fassets\u002Factivity.svg",{"path":51,"resourceType":46,"resourceTypeDesc":47,"sizeBytes":52,"sourceHtmlUrl":53},"assets\u002Ficon.png",73015,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fextensions\u002Flobster\u002Fassets\u002Ficon.png",{"path":55,"resourceType":56,"resourceTypeDesc":57,"sizeBytes":58,"sourceHtmlUrl":59},"index.ts","SCRIPT","脚本",487,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fextensions\u002Flobster\u002Findex.ts",{"path":61,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":64,"sourceHtmlUrl":65},"openclaw.plugin.json","REFERENCE","参考文档",492,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fextensions\u002Flobster\u002Fopenclaw.plugin.json",{"path":67,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":68,"sourceHtmlUrl":69},"package.json",866,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fextensions\u002Flobster\u002Fpackage.json",{"path":71,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":72,"sourceHtmlUrl":73},"README.md",3144,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fextensions\u002Flobster\u002FREADME.md",{"path":75,"resourceType":56,"resourceTypeDesc":57,"sizeBytes":76,"sourceHtmlUrl":77},"src\u002Flobster-runner.test.ts",5572,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fextensions\u002Flobster\u002Fsrc\u002Flobster-runner.test.ts",{"path":79,"resourceType":56,"resourceTypeDesc":57,"sizeBytes":80,"sourceHtmlUrl":81},"src\u002Flobster-runner.ts",10158,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fextensions\u002Flobster\u002Fsrc\u002Flobster-runner.ts",{"path":83,"resourceType":56,"resourceTypeDesc":57,"sizeBytes":84,"sourceHtmlUrl":85},"src\u002Flobster-runner.validation.test.ts",6019,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fextensions\u002Flobster\u002Fsrc\u002Flobster-runner.validation.test.ts",{"path":87,"resourceType":56,"resourceTypeDesc":57,"sizeBytes":88,"sourceHtmlUrl":89},"src\u002Flobster-schema-compiler.test.ts",2134,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fextensions\u002Flobster\u002Fsrc\u002Flobster-schema-compiler.test.ts",{"path":91,"resourceType":56,"resourceTypeDesc":57,"sizeBytes":92,"sourceHtmlUrl":93},"src\u002Flobster-schema-compiler.ts",1765,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fextensions\u002Flobster\u002Fsrc\u002Flobster-schema-compiler.ts",{"path":95,"resourceType":56,"resourceTypeDesc":57,"sizeBytes":96,"sourceHtmlUrl":97},"src\u002Flobster-tool.test.ts",5873,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fextensions\u002Flobster\u002Fsrc\u002Flobster-tool.test.ts",{"path":99,"resourceType":56,"resourceTypeDesc":57,"sizeBytes":100,"sourceHtmlUrl":101},"src\u002Flobster-tool.ts",3083,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fextensions\u002Flobster\u002Fsrc\u002Flobster-tool.ts",{"path":103,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":104,"sourceHtmlUrl":105},"tsconfig.json",58,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fextensions\u002Flobster\u002Ftsconfig.json",[107,130,148,170,194,216],{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":8,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":113,"publishedAt":17},"01M698YY8QGQ7S8TJNKJG6VTPH","xurl","xurl CLI for authenticated X posts, replies, reads\u002Fsearch, DMs, media upload, followers, auth status, or raw v2 API calls.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Fxurl\u002FSKILL.md",[],[109,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129],"search","for","calls","replies","posts","upload","tap","install","brew","node","Media","api","npm","status","auth","cli",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":8,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":136,"publishedAt":17},"01M698YWT1CJ0WK88WB909R9RT","weather","Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Fweather\u002FSKILL.md",[],[132,137,138,139,140,141,122,142,143,115,144,145,146,147,121],"web","planning","help","https","curl","travel planning","fetch","temperature","with","back","travel",{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":8,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":159,"publishedAt":17},"01M698YV2Q0R0JJKAWGFS21K0N","visualize","Create inline visuals for code and explanations, or author persistent OpenClaw dashboard widgets with show_widget.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Fvisualize\u002FSKILL.md",[154],{"categoryNo":155,"categoryName":156,"taxonomyType":157,"taxonomyTypeDesc":158},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[150,160,161,115,162,145,163,164,165,166,167,168,169,8],"author","openclaw dashboard","inline","widgets","widget","show","code","create","visuals","dashboard",{"skillNo":171,"name":172,"nameZh":6,"description":173,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":8,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":174,"categories":175,"keywords":184,"publishedAt":17},"01M698YS2TRJH9ENG28HD9CD87","trello","Manage Trello boards, lists, and cards via the Trello REST API.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Ftrello\u002FSKILL.md",[176,181],{"categoryNo":177,"categoryName":178,"taxonomyType":179,"taxonomyTypeDesc":180},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":182,"categoryName":183,"taxonomyType":157,"taxonomyTypeDesc":158},"01JBSEEDCAT000000000000030","开发工程师",[172,185,186,140,187,188,121,122,189,141,125,190,191,192,193],"via","manage","token","atlassian","jq","REST","developer","cloud","rest api",{"skillNo":195,"name":196,"nameZh":6,"description":197,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":8,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":198,"categories":199,"keywords":200,"publishedAt":17},"01M698YQ9Q3M4W78EWV2KSCSVW","tmux","Control tmux sessions\u002Fpanes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Ftmux\u002FSKILL.md",[],[196,122,201,202,203,204,205,206,207,208,209,115,210,211,212,213,214,121,215],"capture","panes","text","monitor","sessions","linux","list","send","darwin","keys","paste","output","control","prompts","interactive",{"skillNo":217,"name":218,"nameZh":6,"description":219,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":8,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":220,"categories":221,"keywords":222,"publishedAt":17},"01M698YNBFMQCEMTQB2F06J5W0","things-mac","Add, update, list, search, or inspect Things 3 todos, inbox, today, projects, areas, and tags on macOS.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Fthings-mac\u002FSKILL.md",[],[223,224,225,226,209,227,228,229,121,207,230,231,140,114,232,233,234,235,129,236],"things mac","things","mac","tags","inspect","latest","add","cmd","projects","inbox","update","github","go","macos"]