[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M77YPKS16A5AS1YX6973DMHT":3,"skill-same:01M77YPKS16A5AS1YX6973DMHT":47},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":27,"repositoryHtmlUrl":28,"repositoryHomepageUrl":29,"ownerHtmlUrl":30,"ownerBlogUrl":6,"ownerDescription":31,"updatedAt":32,"install":33,"resources":46},"01M77YPKS16A5AS1YX6973DMHT","x-cdp",null,"Automate X (Twitter) via Chromium CDP: post tweets, reply, quote-retweet, publish articles. Uses real browser sessions with existing login, no API keys needed. Trigger: user asks to post on X\u002FTwitter, reply to a tweet, quote retweet, or publish an X article.","Lord1Egypt\u002Fawesome-skill-forge","Lord1Egypt","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F99746359?v=4","01M7592YDNT0XK9WJ0T2MQVPDN","Mohamed Mounir Ali AL Keshita","01M75GRFNHC8VZNWEB8DKDE433",3,"MIT","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fcommunity\u002Fclawhub\u002Fx\u002Fx-cdp\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: x-cdp\ndescription: >\n  Automate X (Twitter) via Chromium CDP: post tweets, reply, quote-retweet, publish articles.\n  Uses real browser sessions with existing login, no API keys needed.\n  Trigger: user asks to post on X\u002FTwitter, reply to a tweet, quote retweet, or publish an X article.\n---\n\n# X CDP Skill — Browser Automation for X (Twitter)\n\n## First-Time Setup\n\nRun the setup wizard. It checks everything and auto-fixes what it can:\n\n```bash\nnode scripts\u002Fsetup.js [--port 18802] [--profile ~\u002Fchromium-profiles\u002Fx-cdp]\n```\n\nThe wizard does 4 things:\n1. **Finds Chromium\u002FChrome** on your system (or tells you how to install it)\n2. **Checks puppeteer-core** (auto-installs to \u002Ftmp\u002Fnode_modules if missing)\n3. **Launches Chromium** with CDP enabled on the specified port\n4. **Verifies X login** (tells you to log in manually if needed)\n\n### Manual setup (if you prefer)\n\n**Install Chromium** (recommended over Chrome for version stability):\n```bash\n# macOS\nbrew install --cask chromium\n\n# Linux\nsudo apt install chromium-browser\n```\n\n**Install puppeteer-core**:\n```bash\ncd \u002Ftmp && npm init -y && npm install puppeteer-core\n```\n\n**Launch Chromium with CDP**:\n```bash\nchromium --remote-debugging-port=18802 --user-data-dir=~\u002Fchromium-profiles\u002Fx-cdp --no-first-run\n```\n\n**Log in to X**: Open `x.com` in the Chromium window and log in once. The session persists in the profile directory.\n\n### Why Chromium, not Chrome?\n\nChrome auto-updates silently. One update can change DOM selectors and break all automation overnight. Chromium lets you pin a known-good version. That said, Chrome works fine too if you don't mind occasional breakage.\n\n## Architecture\n\nAll scripts connect to a running Chromium instance via CDP (Chrome DevTools Protocol).\nThis is **not** API-based. It drives the real browser UI, identical to a human clicking.\n\n### Multi-account isolation\n\nEach X account gets its own Chromium instance with a separate port and profile:\n\n- Port 18800, profile `chromium-profiles\u002Fmain`: @your_main_account\n- Port 18801, profile `chromium-profiles\u002Fsecond`: @your_second_account\n- Port 18802, profile `chromium-profiles\u002Fthird`: @your_third_account\n\nLaunch multiple instances for multi-account use. All scripts accept `--port` to target a specific account.\n\n## Commands\n\n### Post a tweet\n```bash\nNODE_PATH=\u002Ftmp\u002Fnode_modules node scripts\u002Fpost-tweet.js \"Hello world\" [--image \u002Fpath\u002Fto\u002Fimg.png] [--port 18802] [--dry-run]\n```\n\n### Reply to a tweet\n```bash\nNODE_PATH=\u002Ftmp\u002Fnode_modules node scripts\u002Freply-tweet.js \u003Ctweet_url> \"Nice post!\" [--image \u002Fpath\u002Fto\u002Fimg.png] [--port 18802] [--dry-run]\n```\n\n### Quote retweet\n```bash\nNODE_PATH=\u002Ftmp\u002Fnode_modules node scripts\u002Fquote-tweet.js \u003Ctweet_url> \"My thoughts\" [--port 18802] [--dry-run]\n```\n\n### Publish an article (X Premium)\n```bash\nNODE_PATH=\u002Ftmp\u002Fnode_modules node scripts\u002Fpost-article.js --title \"Title\" --body \"Body text\" [--body-file \u002Fpath\u002Fto\u002Fcontent.md] [--cover \u002Fpath\u002Fto\u002Fcover.jpg] [--port 18800] [--dry-run]\n```\n\nAll scripts support `--dry-run` to fill content without sending. A screenshot is saved to `\u002Ftmp\u002F`.\n\n## Agent Integration\n\nWhen the user asks to interact with X:\n\n### Pre-flight check\nBefore running any script, verify the environment:\n1. Check if Chromium is running on the target port: `curl -s http:\u002F\u002Flocalhost:\u003Cport>\u002Fjson\u002Fversion`\n2. If not running, run `node scripts\u002Fsetup.js --port \u003Cport>` to launch and configure\n3. If setup fails, report the specific step that failed\n\n### Compose flow\n1. User provides intent (e.g., \"reply to this tweet saying thanks\")\n2. Agent drafts the text, shows it to user for approval\n3. On confirmation, run the script via `exec`\n4. Report success\u002Ffailure\n\n### Error recovery\nIf a script fails with \"not found\" errors, X may have changed its DOM. Check and update:\n- `references\u002Fselectors.md` for the latest selectors\n- `scripts\u002Flib\u002Fcdp-utils.js` SELECTORS object\n\n## Risk Notes\n\n- **Rate limiting**: Space out actions. No more than ~10 tweets\u002Fhour.\n- **Detection**: CDP automation looks like real browser usage. Much harder to detect than API abuse.\n- **Account safety**: Human-like delays are built into all scripts. Avoid bulk operations.\n- **vs API tools (bird etc.)**: API wrappers get DMCA'd or break on API changes. CDP works as long as the website works.\n","# X CDP Skill — Browser Automation for X (Twitter)\n\n## First-Time Setup\n\nRun the setup wizard. It checks everything and auto-fixes what it can:\n\n```bash\nnode scripts\u002Fsetup.js [--port 18802] [--profile ~\u002Fchromium-profiles\u002Fx-cdp]\n```\n\nThe wizard does 4 things:\n1. **Finds Chromium\u002FChrome** on your system (or tells you how to install it)\n2. **Checks puppeteer-core** (auto-installs to \u002Ftmp\u002Fnode_modules if missing)\n3. **Launches Chromium** with CDP enabled on the specified port\n4. **Verifies X login** (tells you to log in manually if needed)\n\n### Manual setup (if you prefer)\n\n**Install Chromium** (recommended over Chrome for version stability):\n```bash\n# macOS\nbrew install --cask chromium\n\n# Linux\nsudo apt install chromium-browser\n```\n\n**Install puppeteer-core**:\n```bash\ncd \u002Ftmp && npm init -y && npm install puppeteer-core\n```\n\n**Launch Chromium with CDP**:\n```bash\nchromium --remote-debugging-port=18802 --user-data-dir=~\u002Fchromium-profiles\u002Fx-cdp --no-first-run\n```\n\n**Log in to X**: Open `x.com` in the Chromium window and log in once. The session persists in the profile directory.\n\n### Why Chromium, not Chrome?\n\nChrome auto-updates silently. One update can change DOM selectors and break all automation overnight. Chromium lets you pin a known-good version. That said, Chrome works fine too if you don't mind occasional breakage.\n\n## Architecture\n\nAll scripts connect to a running Chromium instance via CDP (Chrome DevTools Protocol).\nThis is **not** API-based. It drives the real browser UI, identical to a human clicking.\n\n### Multi-account isolation\n\nEach X account gets its own Chromium instance with a separate port and profile:\n\n- Port 18800, profile `chromium-profiles\u002Fmain`: @your_main_account\n- Port 18801, profile `chromium-profiles\u002Fsecond`: @your_second_account\n- Port 18802, profile `chromium-profiles\u002Fthird`: @your_third_account\n\nLaunch multiple instances for multi-account use. All scripts accept `--port` to target a specific account.\n\n## Commands\n\n### Post a tweet\n```bash\nNODE_PATH=\u002Ftmp\u002Fnode_modules node scripts\u002Fpost-tweet.js \"Hello world\" [--image \u002Fpath\u002Fto\u002Fimg.png] [--port 18802] [--dry-run]\n```\n\n### Reply to a tweet\n```bash\nNODE_PATH=\u002Ftmp\u002Fnode_modules node scripts\u002Freply-tweet.js \u003Ctweet_url> \"Nice post!\" [--image \u002Fpath\u002Fto\u002Fimg.png] [--port 18802] [--dry-run]\n```\n\n### Quote retweet\n```bash\nNODE_PATH=\u002Ftmp\u002Fnode_modules node scripts\u002Fquote-tweet.js \u003Ctweet_url> \"My thoughts\" [--port 18802] [--dry-run]\n```\n\n### Publish an article (X Premium)\n```bash\nNODE_PATH=\u002Ftmp\u002Fnode_modules node scripts\u002Fpost-article.js --title \"Title\" --body \"Body text\" [--body-file \u002Fpath\u002Fto\u002Fcontent.md] [--cover \u002Fpath\u002Fto\u002Fcover.jpg] [--port 18800] [--dry-run]\n```\n\nAll scripts support `--dry-run` to fill content without sending. A screenshot is saved to `\u002Ftmp\u002F`.\n\n## Agent Integration\n\nWhen the user asks to interact with X:\n\n### Pre-flight check\nBefore running any script, verify the environment:\n1. Check if Chromium is running on the target port: `curl -s http:\u002F\u002Flocalhost:\u003Cport>\u002Fjson\u002Fversion`\n2. If not running, run `node scripts\u002Fsetup.js --port \u003Cport>` to launch and configure\n3. If setup fails, report the specific step that failed\n\n### Compose flow\n1. User provides intent (e.g., \"reply to this tweet saying thanks\")\n2. Agent drafts the text, shows it to user for approval\n3. On confirmation, run the script via `exec`\n4. Report success\u002Ffailure\n\n### Error recovery\nIf a script fails with \"not found\" errors, X may have changed its DOM. Check and update:\n- `references\u002Fselectors.md` for the latest selectors\n- `scripts\u002Flib\u002Fcdp-utils.js` SELECTORS object\n\n## Risk Notes\n\n- **Rate limiting**: Space out actions. No more than ~10 tweets\u002Fhour.\n- **Detection**: CDP automation looks like real browser usage. Much harder to detect than API abuse.\n- **Account safety**: Human-like delays are built into all scripts. Avoid bulk operations.\n- **vs API tools (bird etc.)**: API wrappers get DMCA'd or break on API changes. CDP works as long as the website works.\n",{"name":5,"description":7},"master","4aa004da461d820f4ea5499e58eb8d196cf99016","community\u002Fclawhub\u002Fx\u002Fx-cdp",0,"https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge","https:\u002F\u002Fskill-explorer-rho.vercel.app","https:\u002F\u002Fgithub.com\u002FLord1Egypt","Unbreakable. Unstoppable. Unmatched⚡.\r\n Speaker of machine tongues 🤖  | World-builder of decentralized dreams 🌐 | Defender of the digital realm🛡️.","2026-06-10 08:21:01",{"source":8,"skillName":5,"commands":34,"prompt":44,"zipAvailable":45},[35,38,41],{"tool":36,"command":37},"npx","npx skills add Lord1Egypt\u002Fawesome-skill-forge --skill x-cdp",{"tool":39,"command":40},"bunx","bunx skills add Lord1Egypt\u002Fawesome-skill-forge --skill x-cdp",{"tool":42,"command":43},"pnpm","pnpm dlx skills add Lord1Egypt\u002Fawesome-skill-forge --skill x-cdp","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fcommunity\u002Fclawhub\u002Fx\u002Fx-cdp\u002FSKILL.md",true,[],[48,55,62,69,76,83],{"skillNo":49,"name":50,"nameZh":6,"description":51,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":52,"categories":53,"keywords":54,"publishedAt":19},"01M785WKJB99G3STR1NF9NRTJW","youtube-content","YouTube transcripts to summaries, threads, blogs.","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fskills\u002Fyoutube-content\u002FSKILL.md",[],[],{"skillNo":56,"name":57,"nameZh":6,"description":58,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":59,"categories":60,"keywords":61,"publishedAt":19},"01M785WEFHB0G2S9YA6EPR3H0E","xurl","X\u002FTwitter via xurl CLI: post, search, DM, media, v2 API.","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fskills\u002Fxurl\u002FSKILL.md",[],[],{"skillNo":63,"name":64,"nameZh":6,"description":65,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":66,"categories":67,"keywords":68,"publishedAt":19},"01M785W98EDN4EFJXJPMQEHCRC","touchdesigner-mcp","Control a running TouchDesigner instance via twozero MCP — create operators, set parameters, wire connections, execute Python, build real-time visuals. 36 native tools.","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fskills\u002Ftouchdesigner-mcp\u002FSKILL.md",[],[],{"skillNo":70,"name":71,"nameZh":6,"description":72,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":75,"publishedAt":19},"01M785W5S9FP3QBH2V191E025P","test-driven-development","TDD: enforce RED-GREEN-REFACTOR, tests before code.","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fskills\u002Ftest-driven-development\u002FSKILL.md",[],[],{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":82,"publishedAt":19},"01M785W2AS08NSSH9YATCV6FJB","teams-meeting-pipeline","Operate the Teams meeting summary pipeline via Hermes CLI — summarize meetings, inspect pipeline status, replay jobs, manage Microsoft Graph subscriptions.","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fskills\u002Fteams-meeting-pipeline\u002FSKILL.md",[],[],{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":19},"01M785VXKW4T34BTP1SCHW1R7F","systematic-debugging","4-phase root cause debugging: understand bugs before fixing.","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fskills\u002Fsystematic-debugging\u002FSKILL.md",[],[]]