[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M698PT6YQNTZATH44E6CFCCS":3,"skill-same:01M698PT6YQNTZATH44E6CFCCS":58},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":30,"linkOnly":31,"markdownContent":32,"markdownBody":33,"frontMatter":34,"refName":35,"commitSha":36,"skillDirectory":37,"forksCount":38,"repositoryHtmlUrl":39,"repositoryHomepageUrl":40,"ownerHtmlUrl":41,"ownerBlogUrl":40,"ownerDescription":42,"updatedAt":43,"install":44,"resources":57},"01M698PT6YQNTZATH44E6CFCCS","channel-message-flows",null,"Use when running QA Lab channel message flow evidence.","openclaw\u002Fopenclaw","openclaw","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F252820863?v=4","01M698P3FSAZ6B4R928ZF19KPT","01M698PDMDRVH56MV30D253NFP",394352,"MIT","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fchannel-message-flows\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29],"channel message flows","channel","message","channel message","flows","qa","flow","use","evidence","lab","when","running","2026-11-10 10:12:30",false,"---\nname: channel-message-flows\ndescription: \"Use when running QA Lab channel message flow evidence.\"\n---\n\n# Channel Message Flows\n\nUse this from the OpenClaw repo root to run the QA Lab evidence for Telegram\ndraft\u002Ffinal delivery sequencing. The behavior is owned by one transport-native\nQA flow that can run through QA Channel or Crabline Telegram.\n\n## QA Scenario\n\nRun the scenario through QA Lab:\n\n```bash\nOPENCLAW_BUILD_PRIVATE_QA=1 node scripts\u002Frun-node.mjs qa suite \\\n  --provider-mode mock-openai \\\n  --scenario channel-message-flows \\\n  --channel-driver qa-channel\n```\n\nRun the same YAML through the real Telegram plugin against Crabline's local\nprovider server:\n\n```bash\nOPENCLAW_BUILD_PRIVATE_QA=1 node scripts\u002Frun-node.mjs qa suite \\\n  --provider-mode mock-openai \\\n  --scenario channel-message-flows \\\n  --channel-driver crabline \\\n  --channel telegram\n```\n\n## References\n\n- `qa\u002Fscenarios\u002Fchannels\u002Fchannel-message-flows.yaml`\n- `extensions\u002Fqa-channel\u002Fsrc\u002Finbound.ts`\n- `extensions\u002Fqa-lab\u002Fsrc\u002Fqa-transport.ts`\n- `extensions\u002Fqa-lab\u002Fsrc\u002Fcrabline-transport.ts`\n- `extensions\u002Ftelegram\u002Fsrc\u002Fdraft-stream.ts`\n\nThe scenario covers `channels.streaming` as primary evidence and\n`runtime.delivery` as secondary evidence.\n","# Channel Message Flows\n\nUse this from the OpenClaw repo root to run the QA Lab evidence for Telegram\ndraft\u002Ffinal delivery sequencing. The behavior is owned by one transport-native\nQA flow that can run through QA Channel or Crabline Telegram.\n\n## QA Scenario\n\nRun the scenario through QA Lab:\n\n```bash\nOPENCLAW_BUILD_PRIVATE_QA=1 node scripts\u002Frun-node.mjs qa suite \\\n  --provider-mode mock-openai \\\n  --scenario channel-message-flows \\\n  --channel-driver qa-channel\n```\n\nRun the same YAML through the real Telegram plugin against Crabline's local\nprovider server:\n\n```bash\nOPENCLAW_BUILD_PRIVATE_QA=1 node scripts\u002Frun-node.mjs qa suite \\\n  --provider-mode mock-openai \\\n  --scenario channel-message-flows \\\n  --channel-driver crabline \\\n  --channel telegram\n```\n\n## References\n\n- `qa\u002Fscenarios\u002Fchannels\u002Fchannel-message-flows.yaml`\n- `extensions\u002Fqa-channel\u002Fsrc\u002Finbound.ts`\n- `extensions\u002Fqa-lab\u002Fsrc\u002Fqa-transport.ts`\n- `extensions\u002Fqa-lab\u002Fsrc\u002Fcrabline-transport.ts`\n- `extensions\u002Ftelegram\u002Fsrc\u002Fdraft-stream.ts`\n\nThe scenario covers `channels.streaming` as primary evidence and\n`runtime.delivery` as secondary evidence.\n",{"name":5,"description":7},"main","f1c93577085244aa96aa87b53a2df9b59d293bd7",".agents\u002Fskills\u002Fchannel-message-flows",82861,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw","https:\u002F\u002Fopenclaw.ai","https:\u002F\u002Fgithub.com\u002Fopenclaw","Your personal, open source AI assistant.","2026-11-12 03:01:25",{"source":8,"skillName":5,"commands":45,"prompt":55,"zipAvailable":56},[46,49,52],{"tool":47,"command":48},"npx","npx skills add openclaw\u002Fopenclaw --skill channel-message-flows",{"tool":50,"command":51},"bunx","bunx skills add openclaw\u002Fopenclaw --skill channel-message-flows",{"tool":53,"command":54},"pnpm","pnpm dlx skills add openclaw\u002Fopenclaw --skill channel-message-flows","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fchannel-message-flows\u002FSKILL.md",true,[],[59,65,88,106,128,152],{"skillNo":60,"name":61,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":62,"categories":63,"keywords":64,"publishedAt":30},"01M698VP84FNM6G9MR1HPX7MF7","lobster","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fextensions\u002Flobster\u002FSKILL.md",[],[61],{"skillNo":66,"name":67,"nameZh":6,"description":68,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":71,"publishedAt":30},"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",[],[67,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87],"for","api","calls","replies","posts","upload","tap","install","brew","node","Media","search","npm","status","auth","cli",{"skillNo":89,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":94,"publishedAt":30},"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",[],[90,95,96,79,97,80,98,99,100,101,102,103,72,104,105],"travel planning","travel","fetch","curl","https","help","planning","web","back","temperature","with",{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":117,"publishedAt":30},"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",[112],{"categoryNo":113,"categoryName":114,"taxonomyType":115,"taxonomyTypeDesc":116},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[108,118,119,120,121,72,105,122,123,124,125,126,9,127],"widgets","openclaw dashboard","author","inline","show","code","create","visuals","dashboard","widget",{"skillNo":129,"name":130,"nameZh":6,"description":131,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":132,"categories":133,"keywords":142,"publishedAt":30},"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",[134,139],{"categoryNo":135,"categoryName":136,"taxonomyType":137,"taxonomyTypeDesc":138},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":140,"categoryName":141,"taxonomyType":115,"taxonomyTypeDesc":116},"01JBSEEDCAT000000000000030","开发工程师",[130,99,143,144,145,146,147,148,79,80,149,98,73,150,151],"cloud","manage","via","rest api","token","atlassian","jq","REST","developer",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":158,"publishedAt":30},"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",[],[154,79,159,160,72,161,162,163,164,165,166,167,80,168,169,170,171,172,173],"send","darwin","keys","paste","output","control","prompts","interactive","list","capture","panes","text","monitor","sessions","linux"]