[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M698SMZB033K2V39MTXK7MZ1":3,"skill-same:01M698SMZB033K2V39MTXK7MZ1":56},{"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":18,"linkOnly":19,"markdownContent":20,"markdownBody":21,"frontMatter":22,"refName":33,"commitSha":34,"skillDirectory":35,"forksCount":36,"repositoryHtmlUrl":37,"repositoryHomepageUrl":6,"ownerHtmlUrl":38,"ownerBlogUrl":39,"ownerDescription":40,"updatedAt":41,"install":42,"resources":55},"01M698SMZB033K2V39MTXK7MZ1","discrawl",null,"Discord archive: search, sync freshness, DMs, summaries, TUI, repo\u002Frelease work.","openclaw\u002Fnix-openclaw-tools","openclaw","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F252820863?v=4","01M698P3FSAZ6B4R928ZF19KPT","01M698SJB382G4YREQ6HE3HRFG",54,"MIT","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fnix-openclaw-tools\u002Fblob\u002Fmain\u002Ftools\u002Fdiscrawl\u002Fskills\u002Fdiscrawl\u002FSKILL.md",[],[5,9],"2026-11-10 10:12:30",false,"---\nname: discrawl\ndescription: \"Discord archive: search, sync freshness, DMs, summaries, TUI, repo\u002Frelease work.\"\nmetadata:\n  openclaw:\n    homepage: https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fdiscrawl\n    requires:\n      bins:\n        - discrawl\n    install:\n      - kind: go\n        module: github.com\u002Fopenclaw\u002Fdiscrawl\u002Fcmd\u002Fdiscrawl@latest\n        bins:\n          - discrawl\n---\n\n# Discrawl\n\nUse local Discord archives first. For recent\u002Fcurrent questions, check\n`discrawl status --json`; use `discrawl doctor` for source\u002Fconfig readiness.\nRefresh only when stale, missing the requested scope, or explicitly requested.\n\n```bash\ndiscrawl sync --source wiretap  # local Discord Desktop artifacts\ndiscrawl sync                   # configured source; bot API requires credentials\n```\n\nUse `--full` only for deliberate historical backfills. Do not interrupt another\narchive writer to resolve a busy\u002Flocked database. Resolve configured paths\ninstead of assuming default macOS, XDG, or legacy locations.\n\n## Read Bounded Slices\n\n```bash\nDISCRAWL_NO_AUTO_UPDATE=1 discrawl search --limit 20 \"query\"\ndiscrawl messages --channel '\u003Cchannel>' --days 7 --all\ndiscrawl dms --last 20\nDISCRAWL_NO_AUTO_UPDATE=1 discrawl --json sql \"select count(*) as messages from messages;\"\n```\n\n`DISCRAWL_NO_AUTO_UPDATE=1` suppresses git-share updates during read smokes.\n`discrawl sql` is read-only by default and accepts SQL arguments or stdin. Use\nit for exact counts\u002Fjoins when normal reads are too coarse; never use\n`--unsafe --confirm` without an explicitly requested and reviewed database\nmutation. Consult subcommand help for filters. Report absolute date spans,\nchannel\u002FDM names, counts, freshness, and source gaps.\n\n## Source Boundaries\n\nDesktop wiretap reads local artifacts; it must not extract credentials, use\nuser tokens, call Discord as the user, or write Discord application storage.\nBot sync needs configured bot credentials; never infer availability. Desktop\nDMs are local-only, not part of the published Git snapshot. Git-share snapshots\nmust exclude secrets and `@me` DM rows.\n\nFor implementation work or a genuinely missing CLI feature, verify the checkout\nremote is `openclaw\u002Fdiscrawl` and follow its instructions. Do not assume a\nmachine-specific historical checkout path.\n\n## ClawSweeper Sandbox\n\nUse the sandbox reader only:\n\n```bash\ndiscrawl-sandbox search --limit 20 \"query\"\ndiscrawl-sandbox messages --channel clawtributors --days 7 --all\ndiscrawl-sandbox status --json\n```\n\nThis reader imports `https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fdiscord-store.git` into\n`\u002Froot\u002Fclawsweeper-sandbox-workspace\u002F.discrawl\u002Fdiscrawl.db` with\n`discord.token_source = \"none\"`. The published Git snapshot is public-channel\nfiltered; do not use `\u002Froot\u002F.discrawl\u002Fconfig.toml` or the rich writer DB from\nsandboxed public Discord sessions.\n","# Discrawl\n\nUse local Discord archives first. For recent\u002Fcurrent questions, check\n`discrawl status --json`; use `discrawl doctor` for source\u002Fconfig readiness.\nRefresh only when stale, missing the requested scope, or explicitly requested.\n\n```bash\ndiscrawl sync --source wiretap  # local Discord Desktop artifacts\ndiscrawl sync                   # configured source; bot API requires credentials\n```\n\nUse `--full` only for deliberate historical backfills. Do not interrupt another\narchive writer to resolve a busy\u002Flocked database. Resolve configured paths\ninstead of assuming default macOS, XDG, or legacy locations.\n\n## Read Bounded Slices\n\n```bash\nDISCRAWL_NO_AUTO_UPDATE=1 discrawl search --limit 20 \"query\"\ndiscrawl messages --channel '\u003Cchannel>' --days 7 --all\ndiscrawl dms --last 20\nDISCRAWL_NO_AUTO_UPDATE=1 discrawl --json sql \"select count(*) as messages from messages;\"\n```\n\n`DISCRAWL_NO_AUTO_UPDATE=1` suppresses git-share updates during read smokes.\n`discrawl sql` is read-only by default and accepts SQL arguments or stdin. Use\nit for exact counts\u002Fjoins when normal reads are too coarse; never use\n`--unsafe --confirm` without an explicitly requested and reviewed database\nmutation. Consult subcommand help for filters. Report absolute date spans,\nchannel\u002FDM names, counts, freshness, and source gaps.\n\n## Source Boundaries\n\nDesktop wiretap reads local artifacts; it must not extract credentials, use\nuser tokens, call Discord as the user, or write Discord application storage.\nBot sync needs configured bot credentials; never infer availability. Desktop\nDMs are local-only, not part of the published Git snapshot. Git-share snapshots\nmust exclude secrets and `@me` DM rows.\n\nFor implementation work or a genuinely missing CLI feature, verify the checkout\nremote is `openclaw\u002Fdiscrawl` and follow its instructions. Do not assume a\nmachine-specific historical checkout path.\n\n## ClawSweeper Sandbox\n\nUse the sandbox reader only:\n\n```bash\ndiscrawl-sandbox search --limit 20 \"query\"\ndiscrawl-sandbox messages --channel clawtributors --days 7 --all\ndiscrawl-sandbox status --json\n```\n\nThis reader imports `https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fdiscord-store.git` into\n`\u002Froot\u002Fclawsweeper-sandbox-workspace\u002F.discrawl\u002Fdiscrawl.db` with\n`discord.token_source = \"none\"`. The published Git snapshot is public-channel\nfiltered; do not use `\u002Froot\u002F.discrawl\u002Fconfig.toml` or the rich writer DB from\nsandboxed public Discord sessions.\n",{"name":5,"metadata":23,"description":7},{"openclaw":24},{"install":25,"homepage":30,"requires":31},[26],{"bins":27,"kind":28,"module":29},[5],"go","github.com\u002Fopenclaw\u002Fdiscrawl\u002Fcmd\u002Fdiscrawl@latest","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fdiscrawl",{"bins":32},[5],"main","1aca1077466fc9bff1bf098716fa8e1b8eb89574","tools\u002Fdiscrawl\u002Fskills\u002Fdiscrawl",46,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fnix-openclaw-tools","https:\u002F\u002Fgithub.com\u002Fopenclaw","https:\u002F\u002Fopenclaw.ai","Your personal, open source AI assistant.","2026-11-06 10:21:36",{"source":8,"skillName":5,"commands":43,"prompt":53,"zipAvailable":54},[44,47,50],{"tool":45,"command":46},"npx","npx skills add openclaw\u002Fnix-openclaw-tools --skill discrawl",{"tool":48,"command":49},"bunx","bunx skills add openclaw\u002Fnix-openclaw-tools --skill discrawl",{"tool":51,"command":52},"pnpm","pnpm dlx skills add openclaw\u002Fnix-openclaw-tools --skill discrawl","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fnix-openclaw-tools\u002Fblob\u002Fmain\u002Ftools\u002Fdiscrawl\u002Fskills\u002Fdiscrawl\u002FSKILL.md",true,[],[57,64,71,83,90,97],{"skillNo":58,"name":59,"nameZh":6,"description":60,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":61,"categories":62,"keywords":63,"publishedAt":18},"01M698T2M9HXMYS5PAB1EC5W27","wacrawl","wacrawl: WhatsApp Desktop archive import\u002Fsearch, slices, backups, repo\u002Frelease work.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fnix-openclaw-tools\u002Fblob\u002Fmain\u002Ftools\u002Fwacrawl\u002Fskills\u002Fwacrawl\u002FSKILL.md",[],[59],{"skillNo":65,"name":66,"nameZh":6,"description":67,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":68,"categories":69,"keywords":70,"publishedAt":18},"01M698T1BWWF2F84AYVV4EYKSX","wacli","Send third-party WhatsApp messages or sync\u002Fsearch WhatsApp history via wacli, not normal active chats.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fnix-openclaw-tools\u002Fblob\u002Fmain\u002Ftools\u002Fwacli\u002Fskills\u002Fwacli\u002FSKILL.md",[],[66,9],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":82,"publishedAt":18},"01M698T06S09004V9CTSB50SPG","summarize","Summarize or transcribe URLs, YouTube\u002Fvideos, podcasts, articles, transcripts, PDFs, and local files.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fnix-openclaw-tools\u002Fblob\u002Fmain\u002Ftools\u002Fsummarize\u002Fskills\u002Fsummarize\u002FSKILL.md",[77],{"categoryNo":78,"categoryName":79,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000021","资料检索与研究","SCENARIO","使用场景",[73],{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":18},"01M698SZ16ZH2N0GYKEWYYE6F6","sonoscli","Control Sonos speakers (discover\u002Fstatus\u002Fplay\u002Fvolume\u002Fgroup).","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fnix-openclaw-tools\u002Fblob\u002Fmain\u002Ftools\u002Fsonoscli\u002Fskills\u002Fsonoscli\u002FSKILL.md",[],[85],{"skillNo":91,"name":92,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":96,"publishedAt":18},"01M698SXW4BDJDMA7QWY4P3T8Y","sag","ElevenLabs text-to-speech with mac-style say UX.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fnix-openclaw-tools\u002Fblob\u002Fmain\u002Ftools\u002Fsag\u002Fskills\u002Fsag\u002FSKILL.md",[],[92],{"skillNo":98,"name":99,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":106,"publishedAt":18},"01M698SW76KVMKNESC9VWFB64M","qmd","Search markdown knowledge bases, notes, and documentation using QMD. Use when users ask to search notes, find documents, or look up information.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fnix-openclaw-tools\u002Fblob\u002Fmain\u002Ftools\u002Fqmd\u002Fskills\u002Fqmd\u002FSKILL.md",[103],{"categoryNo":104,"categoryName":105,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000023","Skill与智能体开发",[99,107,9,108,109],"MCP","cli","nix"]