{"_id":"@bahrulbangsawan/rubot","_rev":"9-9b2fe86b64d54f310d5faeb8542742d1","name":"@bahrulbangsawan/rubot","dist-tags":{"latest":"2.2.0"},"versions":{"1.0.0":{"name":"@bahrulbangsawan/rubot","version":"1.0.0","keywords":["rubot","skills","claude-code","ai-agent","cli"],"author":{"name":"bahrulbangsawan"},"license":"MIT","_id":"@bahrulbangsawan/rubot@1.0.0","maintainers":[{"name":"bahrulbangsawan","email":"work@bahrul.me"}],"homepage":"https://github.com/bahrulbangsawan/rubot-marketplace#readme","bugs":{"url":"https://github.com/bahrulbangsawan/rubot-marketplace/issues"},"bin":{"rubot":"bin/cli.mjs"},"dist":{"shasum":"4002b675511bc114ef3bf64f6ecb19c66963299a","tarball":"https://registry.npmjs.org/@bahrulbangsawan/rubot/-/rubot-1.0.0.tgz","fileCount":12,"integrity":"sha512-hd8gDWHOrFcdGmG/D+3WomN4ZDGIEnODOqh8W+1LCqsnaTypnMEWDmifX5OwzwNgI2DM2UlhHDexyqtU4igOUg==","signatures":[{"sig":"MEUCIEfSLzQERUR/OgSQIZVVRnn/syh/xFiOaGIeNHA+HYDqAiEA4EVS0hTXD/ienBka6FJFBrpelfLqb3VFbbDomnBdARQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21445},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"07fb7dda56941075416472d6d39558c5ba44daaa","_npmUser":{"name":"bahrulbangsawan","email":"work@bahrul.me"},"repository":{"url":"git+https://github.com/bahrulbangsawan/rubot-marketplace.git","type":"git"},"_npmVersion":"11.6.2","description":"Install and manage skills from rubot-marketplace","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/rubot_1.0.0_1773209215446_0.046079165087162144","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@bahrulbangsawan/rubot","version":"1.1.0","keywords":["rubot","skills","claude-code","ai-agent","cli"],"author":{"name":"bahrulbangsawan"},"license":"MIT","_id":"@bahrulbangsawan/rubot@1.1.0","maintainers":[{"name":"bahrulbangsawan","email":"work@bahrul.me"}],"homepage":"https://github.com/bahrulbangsawan/rubot-marketplace#readme","bugs":{"url":"https://github.com/bahrulbangsawan/rubot-marketplace/issues"},"bin":{"rubot":"bin/cli.mjs"},"dist":{"shasum":"13fb50e6295c899b622ff0946b5d83ed95c19ba5","tarball":"https://registry.npmjs.org/@bahrulbangsawan/rubot/-/rubot-1.1.0.tgz","fileCount":13,"integrity":"sha512-zxJfSJMBDhE/9Yx2n0KJmDWj1ueZgSaGiR8vnWMvST64WfWnjF+qZKY1mea083pqWn0RvuSoVeU/hxuf0fBYZg==","signatures":[{"sig":"MEUCIQDcArq1d8jQ8g2uYhd7pkp5iEUgsUpz1q5LCObdkKmsUAIgOZIBO6pXi6h/wSBPjM7Vqaua/LsQaRli2r8tJra0IlQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31840},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"41ca2e5d739b04eabc78e826e0b7c2bed651a20e","_npmUser":{"name":"bahrulbangsawan","email":"work@bahrul.me"},"repository":{"url":"git+https://github.com/bahrulbangsawan/rubot-marketplace.git","type":"git"},"_npmVersion":"11.6.2","description":"Install and manage skills from rubot-marketplace","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/rubot_1.1.0_1773215016125_0.6674325784454722","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@bahrulbangsawan/rubot","version":"2.0.0","keywords":["rubot","skills","claude-code","ai-agent","cli"],"author":{"name":"bahrulbangsawan"},"license":"MIT","_id":"@bahrulbangsawan/rubot@2.0.0","maintainers":[{"name":"bahrulbangsawan","email":"work@bahrul.me"}],"homepage":"https://github.com/bahrulbangsawan/rubot-marketplace#readme","bugs":{"url":"https://github.com/bahrulbangsawan/rubot-marketplace/issues"},"bin":{"rubot":"bin/cli.mjs"},"dist":{"shasum":"39425c253e36e2844beef3f8ff75ad41e41544b4","tarball":"https://registry.npmjs.org/@bahrulbangsawan/rubot/-/rubot-2.0.0.tgz","fileCount":13,"integrity":"sha512-ns6mB3E/H5K10RlHEkKP79jOxu3TLmpol3qd5MdDfT7UTtGqNprQAzx7q4YnIFsY8DO9JS+NHfTjqJarxRXaaQ==","signatures":[{"sig":"MEUCIEoW1Z4H1B4kQnkfh1ngHXcwPp9VPwFSkhNIAyifCOz6AiEA1/1s6jGOopMlsbOpBeOObvTZJHsy9rQtExOkIyQ0+Bk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60354},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"f8b9f7b98b5357d7a001d7eda8b1eeaad113e63b","_npmUser":{"name":"bahrulbangsawan","email":"work@bahrul.me"},"repository":{"url":"git+https://github.com/bahrulbangsawan/rubot-marketplace.git","type":"git"},"_npmVersion":"11.6.2","description":"Install and manage components from rubot-marketplace","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/rubot_2.0.0_1773217806924_0.40528739652884394","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@bahrulbangsawan/rubot","version":"2.1.0","keywords":["rubot","skills","claude-code","ai-agent","cli"],"author":{"name":"bahrulbangsawan"},"license":"MIT","_id":"@bahrulbangsawan/rubot@2.1.0","maintainers":[{"name":"bahrulbangsawan","email":"work@bahrul.me"}],"homepage":"https://github.com/bahrulbangsawan/rubot-marketplace#readme","bugs":{"url":"https://github.com/bahrulbangsawan/rubot-marketplace/issues"},"bin":{"rubot":"bin/cli.mjs"},"dist":{"shasum":"fed4d5830c1c90ab2f62502bab8ca4da9438aea0","tarball":"https://registry.npmjs.org/@bahrulbangsawan/rubot/-/rubot-2.1.0.tgz","fileCount":13,"integrity":"sha512-RmbRVsVTog9i5ou1DByTQPuxsauFjlQSkOI9HFnzkEn9WYrCYZFxjTCLfl1/jT1ev7IM0tC9LHKmGFj0o+Uoww==","signatures":[{"sig":"MEQCIAMea+/AD6iWHUSbyTRVM6XqNDKpytVXH0hnZ/yOxTg1AiBvBhjGT3QqFQvQTie3sZR3MRYMqKuFaWq7IlQ8TN4Idw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62515},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"30d77191e8b57e50e2a52933c8afc806cb9909cb","_npmUser":{"name":"bahrulbangsawan","email":"work@bahrul.me"},"repository":{"url":"git+https://github.com/bahrulbangsawan/rubot-marketplace.git","type":"git"},"_npmVersion":"11.6.2","description":"Install and manage components from rubot-marketplace","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/rubot_2.1.0_1773218905313_0.589486146513065","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@bahrulbangsawan/rubot","version":"2.1.1","keywords":["rubot","skills","claude-code","ai-agent","cli"],"author":{"name":"bahrulbangsawan"},"license":"MIT","_id":"@bahrulbangsawan/rubot@2.1.1","maintainers":[{"name":"bahrulbangsawan","email":"work@bahrul.me"}],"homepage":"https://github.com/bahrulbangsawan/rubot-marketplace#readme","bugs":{"url":"https://github.com/bahrulbangsawan/rubot-marketplace/issues"},"bin":{"rubot":"bin/cli.mjs"},"dist":{"shasum":"663ed8de8d900dd2b79e51c9c2a5198d8cbd1559","tarball":"https://registry.npmjs.org/@bahrulbangsawan/rubot/-/rubot-2.1.1.tgz","fileCount":13,"integrity":"sha512-vS/8DCdfVEVzPTh6BalO3BXuAJoY52EGZY7eUJpd7WMyr0bsSduaM/TRDXx2jp5wqqxU1hfqB2yoNrXbBBInCg==","signatures":[{"sig":"MEUCIGQpiBaC4xB543htLayrarZw2XXdOh1w8yXM1n4WSu+wAiEA3W9n6xhVga2+qa/PGmswRec5nKnnAiYQ5bgbPL41i5w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63671},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"0679b1c2e994ce93da621bc56f70d08895cc8a64","_npmUser":{"name":"bahrulbangsawan","email":"work@bahrul.me"},"repository":{"url":"git+https://github.com/bahrulbangsawan/rubot-marketplace.git","type":"git"},"_npmVersion":"11.6.2","description":"Install and manage components from rubot-marketplace","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/rubot_2.1.1_1773219778477_0.3509757069414017","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"@bahrulbangsawan/rubot","version":"2.1.2","keywords":["rubot","skills","claude-code","ai-agent","cli"],"author":{"name":"bahrulbangsawan"},"license":"MIT","_id":"@bahrulbangsawan/rubot@2.1.2","maintainers":[{"name":"bahrulbangsawan","email":"work@bahrul.me"}],"homepage":"https://github.com/bahrulbangsawan/rubot-marketplace#readme","bugs":{"url":"https://github.com/bahrulbangsawan/rubot-marketplace/issues"},"bin":{"rubot":"bin/cli.mjs"},"dist":{"shasum":"defcbe0dcbd99665495159820725cdac208ad1a1","tarball":"https://registry.npmjs.org/@bahrulbangsawan/rubot/-/rubot-2.1.2.tgz","fileCount":13,"integrity":"sha512-WLhIWWojxasKhx4TXZdOCMlgVjYW0/z5BbtjxLWQ/QZkfjMsvOwC5cH8pv6QQqUvWSxmq44IP6zCQTWTNtDNlQ==","signatures":[{"sig":"MEUCIEs/+XP0VJ7vrPv6R7ereRfVVy0mUHJ9HkD9dOGJbF7qAiEA58y5maIVRS1qOvdebf5cdHeU4Y0gNQN18wVnUXiotX8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65327},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"85aff472818d97b33caddcd07f106cf4eb9eba86","_npmUser":{"name":"bahrulbangsawan","email":"work@bahrul.me"},"repository":{"url":"git+https://github.com/bahrulbangsawan/rubot-marketplace.git","type":"git"},"_npmVersion":"11.6.2","description":"Install and manage components from rubot-marketplace","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/rubot_2.1.2_1773220753207_0.2192793560674906","host":"s3://npm-registry-packages-npm-production"}},"2.1.3":{"name":"@bahrulbangsawan/rubot","version":"2.1.3","keywords":["rubot","skills","claude-code","ai-agent","cli"],"author":{"name":"bahrulbangsawan"},"license":"MIT","_id":"@bahrulbangsawan/rubot@2.1.3","maintainers":[{"name":"bahrulbangsawan","email":"work@bahrul.me"}],"homepage":"https://github.com/bahrulbangsawan/rubot-marketplace#readme","bugs":{"url":"https://github.com/bahrulbangsawan/rubot-marketplace/issues"},"bin":{"rubot":"bin/cli.mjs"},"dist":{"shasum":"2ff0cf5abdfd743c958bdf3161ba7e0d23dcbfc7","tarball":"https://registry.npmjs.org/@bahrulbangsawan/rubot/-/rubot-2.1.3.tgz","fileCount":14,"integrity":"sha512-O2BUHQ1X7ertTO7GSPdq4muKAh45oi9XdNOTmjvtvl6fAp5MgGc9xhb6mVZwhEGhoTcSEbQ3T3gZMkS4JdhSPw==","signatures":[{"sig":"MEUCIE2GW+zyFHL5RAfK6W3rjlFbVkWKSILk+mkTp0oX/vGcAiEA26SuXSWmYv1VYMd3zweILLwaoiXz6OSd2NnDD1TGBuw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69519},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"28fc494cc848034c6512f778ed6b730016a527f1","_npmUser":{"name":"bahrulbangsawan","email":"work@bahrul.me"},"repository":{"url":"git+https://github.com/bahrulbangsawan/rubot-marketplace.git","type":"git"},"_npmVersion":"11.6.2","description":"Install and manage components from rubot-marketplace","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/rubot_2.1.3_1773221971220_0.8484393693088697","host":"s3://npm-registry-packages-npm-production"}},"2.1.4":{"name":"@bahrulbangsawan/rubot","version":"2.1.4","keywords":["rubot","skills","claude-code","ai-agent","cli"],"author":{"name":"bahrulbangsawan"},"license":"MIT","_id":"@bahrulbangsawan/rubot@2.1.4","maintainers":[{"name":"bahrulbangsawan","email":"work@bahrul.me"}],"homepage":"https://github.com/bahrulbangsawan/rubot-marketplace#readme","bugs":{"url":"https://github.com/bahrulbangsawan/rubot-marketplace/issues"},"bin":{"rubot":"bin/cli.mjs"},"dist":{"shasum":"a5f5db5f37684e213379244ad6e454f0dde2aa4c","tarball":"https://registry.npmjs.org/@bahrulbangsawan/rubot/-/rubot-2.1.4.tgz","fileCount":14,"integrity":"sha512-6S0LnASjqItDDsSVD+jsGK7U3E4YDfkom7L/KNiM9/hOYyJ+T88gn3I/owZNF1geIqw6tNBuvKh7LEUCPDETRA==","signatures":[{"sig":"MEUCIQDXb4LcUYjZJ2EsULDA2AtqgDu1fnNAuyK6u73Dj24jeAIgDQVQdWVJXFuddhTzutHaqSII5RvQqWGHydmCHv5jtzc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82804},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"3b7d0271bef7a774645fab5f0b0f3ff83df74e75","_npmUser":{"name":"bahrulbangsawan","email":"work@bahrul.me"},"repository":{"url":"git+https://github.com/bahrulbangsawan/rubot-marketplace.git","type":"git"},"_npmVersion":"11.6.2","description":"Install and manage components from rubot-marketplace","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/rubot_2.1.4_1773223939209_0.879793339367896","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@bahrulbangsawan/rubot","version":"2.2.0","description":"Install and manage components from rubot-marketplace","type":"module","bin":{"rubot":"bin/cli.mjs"},"keywords":["rubot","skills","claude-code","codex","openai-codex","ai-agent","cli"],"author":{"name":"bahrulbangsawan"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/bahrulbangsawan/rubot-marketplace.git"},"engines":{"node":">=20.0.0"},"gitHead":"d8bcd125681f49c712bd964026dc4554a3519d1e","_id":"@bahrulbangsawan/rubot@2.2.0","bugs":{"url":"https://github.com/bahrulbangsawan/rubot-marketplace/issues"},"homepage":"https://github.com/bahrulbangsawan/rubot-marketplace#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-xGFKk57EU3YVcT4FuE0o2JCCGZ7OKFpeme3FGophjNpku9qiY8W1OAB61YpqPezTJSCZX2ix7PexgFHERC9mtw==","shasum":"3f3623729fab7eba5e2ac4b5abc311f0c000d96b","tarball":"https://registry.npmjs.org/@bahrulbangsawan/rubot/-/rubot-2.2.0.tgz","fileCount":14,"unpackedSize":90983,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICKeNGG6cY0Pih3d87GjqcemT1/5utIon6K23OsCvkBuAiA2ekOrsoPIYx2rpvx8uvFSUbNRipjlNdGvPkl/U53w4A=="}]},"_npmUser":{"name":"bahrulbangsawan","email":"work@bahrul.me"},"directories":{},"maintainers":[{"name":"bahrulbangsawan","email":"work@bahrul.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rubot_2.2.0_1779528838284_0.0933281452127308"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-11T06:06:55.356Z","modified":"2026-05-23T09:33:58.539Z","1.0.0":"2026-03-11T06:06:55.591Z","1.1.0":"2026-03-11T07:43:36.284Z","2.0.0":"2026-03-11T08:30:07.081Z","2.1.0":"2026-03-11T08:48:25.505Z","2.1.1":"2026-03-11T09:02:58.624Z","2.1.2":"2026-03-11T09:19:13.361Z","2.1.3":"2026-03-11T09:39:31.367Z","2.1.4":"2026-03-11T10:12:19.354Z","2.2.0":"2026-05-23T09:33:58.426Z"},"bugs":{"url":"https://github.com/bahrulbangsawan/rubot-marketplace/issues"},"author":{"name":"bahrulbangsawan"},"license":"MIT","homepage":"https://github.com/bahrulbangsawan/rubot-marketplace#readme","keywords":["rubot","skills","claude-code","codex","openai-codex","ai-agent","cli"],"repository":{"type":"git","url":"git+https://github.com/bahrulbangsawan/rubot-marketplace.git"},"description":"Install and manage components from rubot-marketplace","maintainers":[{"name":"bahrulbangsawan","email":"work@bahrul.me"}],"readme":"# @bahrulbangsawan/rubot\n\nCLI tool to install and manage components from [rubot-marketplace](https://github.com/bahrulbangsawan/rubot-marketplace) for Claude Code and Codex.\n\n## Installation\n\n### One-line install (recommended)\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/bahrulbangsawan/rubot-marketplace/main/cli/install.sh | sh && exec $SHELL\n```\n\nThis automatically handles permissions, sets up your PATH, and installs `rubot` globally — no `sudo` needed. The `exec $SHELL` reloads your terminal so `rubot` is available immediately.\n\n### Run directly with npx (no install needed)\n\n```bash\nnpx @bahrulbangsawan/rubot <command>\n```\n\n### Install globally with npm\n\n```bash\nnpm install -g @bahrulbangsawan/rubot\n```\n\n> **Note:** If you get an `EACCES` permission error, use the one-line installer above — it fixes npm permissions automatically.\n\nThen use:\n\n```bash\nrubot <command>\n```\n\n### Uninstall\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/bahrulbangsawan/rubot-marketplace/main/cli/install.sh | sh -s -- --uninstall\n```\n\nOr manually:\n\n```bash\nnpm uninstall -g @bahrulbangsawan/rubot\n```\n\n### Requirements\n\n- Node.js >= 20.0.0\n- Claude Code or Codex installed\n\n## Component Types\n\nThe CLI manages 5 types of components:\n\n| Type | Count | Claude Code path | Codex path | Description |\n|------|-------|------------------|------------|-------------|\n| **Skills** | 60 | `.claude/skills/<name>/` | `.agents/skills/<name>/` locally, `~/.codex/skills/<name>/` globally | Domain-specific knowledge and patterns |\n| **Commands** | 38 | `.claude/commands/<name>.md` | `.codex/prompts/<name>.md` locally, `~/.codex/prompts/<name>.md` globally | Workflow commands/prompts |\n| **Agents** | 16 | `.claude/agents/<name>.md` | `.codex/agents/<name>.md` reference files | Specialist subagent definitions |\n| **Hooks** | 8 | `.claude/settings.json` | Not installed; Codex does not support Claude-style hooks | Lifecycle event handlers |\n| **Templates** | 10 | `.claude/templates/<name>` | `.codex/templates/<name>` | Project template files |\n\nClaude Code remains the default target and auto-discovers `.claude/`. Codex skills are installed where Codex already discovers them, and commands are installed as Codex prompts with a compatibility adapter.\n\n## Commands\n\n### `rubot add` — Install components\n\nInteractive multi-select or direct install.\n\n```bash\n# Interactive — pick types, then pick items\nrubot add\n\n# Multi-select skills only\nrubot add --type skill\n\n# Install specific skills\nrubot add --skill drizzle-orm tanstack-router\n\n# Install specific commands\nrubot add --type command rubot-seo-audit rubot-design-audit\n\n# Install all agents\nrubot add --type agent --all\n\n# Install everything (all types)\nrubot add --all\n\n# Install to global directory (~/.claude/ by default)\nrubot add --skill biome --global\n\n# Install for Codex instead of Claude Code\nrubot add --target codex --skill biome\nrubot add --target codex --type command rubot-fix-prompt\n\n# Install to both runtimes\nrubot add --target both --skill biome\n\n# Skip confirmation\nrubot add --all --yes\n```\n\n**Interactive mode** (just `rubot add`):\n\n```\n? What would you like to install? (↑↓ move, space toggle, a all, / filter, enter confirm)\n  > ◉ skill       60 available\n    ◯ command     38 available\n    ◯ agent       16 available\n    ◯ hook         8 available\n    ◯ template    10 available\n\n? Select skills to install: (↑↓ move, space toggle, a all, / filter, enter confirm)\n  > ◉ drizzle-orm            Type-safe database operations with Drizzle ORM\n    ◯ elysiajs               High-performance HTTP servers with ElysiaJS\n    ◉ tanstack-router        TanStack Router patterns\n    ...\n  2 of 60 selected\n```\n\n**Options:**\n\n| Flag | Alias | Description |\n|------|-------|-------------|\n| `--type <types>` | `-t` | Component type: skill, command, agent, hook, template |\n| `--skill <names...>` | `-s` | Skill name(s) — shorthand for `--type skill <names>` |\n| `--all` | | Install all (of specified type, or everything) |\n| `--global` | `-g` | Install globally (`~/.claude/` for Claude Code, `~/.codex/` for Codex) |\n| `--target <target>` | | Runtime target: `claude`, `codex`, or `both` |\n| `--yes` | `-y` | Skip confirmation prompts |\n\n### `rubot list` — Show installed components\n\nDisplay all installed components grouped by type and scope.\n\n```bash\nrubot list\nrubot ls\nrubot list --type skill\nrubot list --target codex --type skill\n```\n\n### `rubot search` — Search available components\n\nBrowse and search across all component types.\n\n```bash\n# List everything\nrubot search\n\n# Search by keyword across all types\nrubot search seo\n\n# Search only skills\nrubot search --type skill tanstack\n```\n\n### `rubot remove` — Uninstall components\n\nInteractive multi-select or direct removal.\n\n```bash\n# Interactive — shows installed, pick what to remove\nrubot remove\n\n# Remove specific skill\nrubot remove --skill drizzle-orm\nrubot remove --target codex --skill drizzle-orm\n\n# Remove specific command\nrubot remove --type command rubot-seo-audit\n\n# Remove all hooks\nrubot remove --type hook --all\n\n# Remove everything\nrubot remove --all\n\n# Skip confirmation\nrubot remove --skill drizzle-orm --yes\n```\n\n### `rubot update` — Update installed components\n\nCheck all installed components against the registry and update to latest.\n\n```bash\nrubot update\nrubot update --type skill\nrubot update --target codex --type skill\n```\n\n### `rubot init` — Create a new skill template\n\nScaffold a new `SKILL.md` template for authoring custom skills.\n\n```bash\nrubot init my-custom-skill\nrubot init my-custom-skill --global\nrubot init --target codex skill my-custom-skill\nrubot init --target both skill my-custom-skill\n```\n\n## Install Locations\n\nComponents are installed to one of two scopes and one runtime target:\n\n| Target | Scope | Path | When to use |\n|--------|-------|------|-------------|\n| `claude` | Local (default) | `.claude/<type>/` | Project-specific Claude Code components |\n| `claude` | Global (`--global`) | `~/.claude/<type>/` | Claude Code components you want everywhere |\n| `codex` | Local (default) | `.agents/skills/` for skills, `.codex/prompts/` for commands | Project-specific Codex skills/prompts |\n| `codex` | Global (`--global`) | `~/.codex/skills/`, `~/.codex/prompts/` | Codex skills/prompts you want everywhere |\n\n## Quick Start\n\n```bash\n# 1. Interactive install — browse and pick what you need\nrubot add\n\n# 2. Or install specific components directly\nrubot add --skill drizzle-orm tanstack-router\nrubot add --type command rubot-seo-audit rubot-commit\n\n# 3. Verify installation\nrubot list\n\n# 4. Keep everything updated\nrubot update\n```\n\nOnce installed, Claude Code automatically discovers and uses the components.\nFor Codex, use `--target codex`; installed skills appear in Codex skill discovery, and installed commands appear as Codex prompts.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}