[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6J1WGXNE78K045PPAFRDJWZ":3,"skill-same:01M6J1WGXNE78K045PPAFRDJWZ":86},{"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":26,"publishedAt":42,"linkOnly":43,"markdownContent":44,"markdownBody":45,"frontMatter":46,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":53,"repositoryHtmlUrl":54,"repositoryHomepageUrl":55,"ownerHtmlUrl":56,"ownerBlogUrl":6,"ownerDescription":57,"updatedAt":58,"install":59,"resources":72},"01M6J1WGXNE78K045PPAFRDJWZ","docker-hub-automation",null,"Automate Docker Hub operations -- manage organizations, repositories, teams, members, and webhooks via the Composio MCP integration.","onfire7777\u002Funiversal-ai-skills-library","onfire7777","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F240866566?v=4","01M6HZJCF2QEW8DY7HE1JDKGK2","Jake B","01M6HZJCKK8SEXKN76V9SGKZ12",17,"MIT","https:\u002F\u002Fgithub.com\u002Fonfire7777\u002Funiversal-ai-skills-library\u002Fblob\u002Fmain\u002Fskills\u002Fdocker-hub-automation\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41],"docker","automation","hub","Docker Hub Automation","MCP","teams","integration","MCP Integration","automate","operations","webhooks","manage","composio","via","organizations","2026-11-10 10:12:30",false,"---\nname: docker-hub-automation\ndescription: \"Automate Docker Hub operations -- manage organizations, repositories, teams, members, and webhooks via the Composio MCP integration.\"\nrequires:\n  mcp:\n    - rube\n---\n\n# Docker Hub Automation\n\nAutomate your Docker Hub workflows -- create and manage organizations, repositories, teams, add members, set up image push webhooks, and list container images.\n\n**Toolkit docs:** [composio.dev\u002Ftoolkits\u002Fdocker_hub](https:\u002F\u002Fcomposio.dev\u002Ftoolkits\u002Fdocker_hub)\n\n---\n\n## Setup\n\n1. Add the Composio MCP server to your client: `https:\u002F\u002Frube.app\u002Fmcp`\n2. Connect your Docker Hub account when prompted (JWT\u002Ftoken authentication)\n3. Start using the workflows below\n\n---\n\n## Core Workflows\n\n### 1. List Organizations\n\nUse `DOCKER_HUB_LIST_ORGANIZATIONS` to discover which organizations the authenticated user belongs to.\n\n```\nTool: DOCKER_HUB_LIST_ORGANIZATIONS\nInputs:\n  - page: integer (1-indexed, default 1)\n  - page_size: integer (1-100, default 25)\n```\n\n### 2. Create an Organization\n\nUse `DOCKER_HUB_CREATE_ORGANIZATION` to programmatically create a new Docker Hub organization.\n\n```\nTool: DOCKER_HUB_CREATE_ORGANIZATION\nInputs:\n  - orgname: string (required) -- lowercase, letters\u002Fnumbers\u002F._- only, min 2 chars\n  - company: string (optional) -- company name associated with the org\n```\n\n**Note:** Requires JWT authentication obtained via `\u002Fv2\u002Fusers\u002Flogin` and may have restricted access.\n\n### 3. Get Organization Details and Repositories\n\nUse `DOCKER_HUB_GET_ORGANIZATION` to retrieve namespace info and its repositories. Works with any public namespace.\n\n```\nTool: DOCKER_HUB_GET_ORGANIZATION\nInputs:\n  - organization: string (required) -- e.g., \"docker\", \"bitnami\", \"library\"\n```\n\n### 4. Create a Repository\n\nUse `DOCKER_HUB_CREATE_REPOSITORY` to create public or private repositories under a namespace.\n\n```\nTool: DOCKER_HUB_CREATE_REPOSITORY\nInputs:\n  - namespace: string (required) -- Docker Hub username or org name\n  - name: string (required) -- lowercase; letters, numbers, ._- allowed\n  - description: string (optional) -- max 100 characters\n  - full_description: string (optional) -- Markdown README content\n  - is_private: boolean (default false) -- private repos require paid plan\n```\n\n### 5. List Repositories with Filtering\n\nUse `DOCKER_HUB_LIST_REPOSITORIES` to enumerate repos within a namespace with sorting and content-type filtering.\n\n```\nTool: DOCKER_HUB_LIST_REPOSITORIES\nInputs:\n  - namespace: string (required) -- e.g., \"library\", \"myorg\"\n  - ordering: \"name\" | \"last_updated\" | \"pull_count\" (prefix with - for descending)\n  - page: integer (default 1)\n  - page_size: integer (1-100, default 25)\n  - content_types: string (comma-separated, e.g., \"image,artifact\")\n```\n\n### 6. Manage Teams, Members, and Webhooks\n\nUse `DOCKER_HUB_LIST_TEAMS` to list teams within an org, `DOCKER_HUB_ADD_ORG_MEMBER` to invite users, and `DOCKER_HUB_CREATE_WEBHOOK` for push notifications.\n\n```\nTool: DOCKER_HUB_LIST_TEAMS\n  - Lists all teams\u002Fgroups within a Docker Hub organization\n\nTool: DOCKER_HUB_ADD_ORG_MEMBER\n  - Invite a user to join an organization by Docker ID or email\n  - Requires owner or admin permissions\n\nTool: DOCKER_HUB_CREATE_WEBHOOK\n  - Create a webhook on a repository for image push notifications\n  - Two-step process: create webhook, then add hook URL\n  - Requires admin permissions on the repository\n```\n\n---\n\n## Known Pitfalls\n\n| Pitfall | Detail |\n|---------|--------|\n| JWT authentication | `DOCKER_HUB_CREATE_ORGANIZATION` requires JWT auth from `\u002Fv2\u002Fusers\u002Flogin` -- standard API tokens may not suffice. |\n| Private repo limits | Creating private repos (`is_private: true`) requires a paid Docker Hub plan. |\n| Org name constraints | Organization names must be lowercase, at least 2 characters, containing only letters, numbers, `.`, `_`, or `-`. |\n| Webhook two-step | `DOCKER_HUB_CREATE_WEBHOOK` is a two-step process: first create the webhook with a name, then add a hook URL to it. |\n| Pagination | All list endpoints use page-based pagination -- iterate pages until results are exhausted. |\n\n---\n\n## Quick Reference\n\n| Tool Slug | Description |\n|-----------|-------------|\n| `DOCKER_HUB_LIST_ORGANIZATIONS` | List orgs the user belongs to |\n| `DOCKER_HUB_CREATE_ORGANIZATION` | Create a new Docker Hub organization |\n| `DOCKER_HUB_GET_ORGANIZATION` | Get org details and repository list |\n| `DOCKER_HUB_CREATE_REPOSITORY` | Create a repository under a namespace |\n| `DOCKER_HUB_LIST_REPOSITORIES` | List repos with filtering and sorting |\n| `DOCKER_HUB_LIST_TEAMS` | List teams\u002Fgroups within an org |\n| `DOCKER_HUB_ADD_ORG_MEMBER` | Invite a user to an organization |\n| `DOCKER_HUB_CREATE_WEBHOOK` | Create push-notification webhook on a repo |\n\n---\n\n*Powered by [Composio](https:\u002F\u002Fcomposio.dev)*\n","# Docker Hub Automation\n\nAutomate your Docker Hub workflows -- create and manage organizations, repositories, teams, add members, set up image push webhooks, and list container images.\n\n**Toolkit docs:** [composio.dev\u002Ftoolkits\u002Fdocker_hub](https:\u002F\u002Fcomposio.dev\u002Ftoolkits\u002Fdocker_hub)\n\n---\n\n## Setup\n\n1. Add the Composio MCP server to your client: `https:\u002F\u002Frube.app\u002Fmcp`\n2. Connect your Docker Hub account when prompted (JWT\u002Ftoken authentication)\n3. Start using the workflows below\n\n---\n\n## Core Workflows\n\n### 1. List Organizations\n\nUse `DOCKER_HUB_LIST_ORGANIZATIONS` to discover which organizations the authenticated user belongs to.\n\n```\nTool: DOCKER_HUB_LIST_ORGANIZATIONS\nInputs:\n  - page: integer (1-indexed, default 1)\n  - page_size: integer (1-100, default 25)\n```\n\n### 2. Create an Organization\n\nUse `DOCKER_HUB_CREATE_ORGANIZATION` to programmatically create a new Docker Hub organization.\n\n```\nTool: DOCKER_HUB_CREATE_ORGANIZATION\nInputs:\n  - orgname: string (required) -- lowercase, letters\u002Fnumbers\u002F._- only, min 2 chars\n  - company: string (optional) -- company name associated with the org\n```\n\n**Note:** Requires JWT authentication obtained via `\u002Fv2\u002Fusers\u002Flogin` and may have restricted access.\n\n### 3. Get Organization Details and Repositories\n\nUse `DOCKER_HUB_GET_ORGANIZATION` to retrieve namespace info and its repositories. Works with any public namespace.\n\n```\nTool: DOCKER_HUB_GET_ORGANIZATION\nInputs:\n  - organization: string (required) -- e.g., \"docker\", \"bitnami\", \"library\"\n```\n\n### 4. Create a Repository\n\nUse `DOCKER_HUB_CREATE_REPOSITORY` to create public or private repositories under a namespace.\n\n```\nTool: DOCKER_HUB_CREATE_REPOSITORY\nInputs:\n  - namespace: string (required) -- Docker Hub username or org name\n  - name: string (required) -- lowercase; letters, numbers, ._- allowed\n  - description: string (optional) -- max 100 characters\n  - full_description: string (optional) -- Markdown README content\n  - is_private: boolean (default false) -- private repos require paid plan\n```\n\n### 5. List Repositories with Filtering\n\nUse `DOCKER_HUB_LIST_REPOSITORIES` to enumerate repos within a namespace with sorting and content-type filtering.\n\n```\nTool: DOCKER_HUB_LIST_REPOSITORIES\nInputs:\n  - namespace: string (required) -- e.g., \"library\", \"myorg\"\n  - ordering: \"name\" | \"last_updated\" | \"pull_count\" (prefix with - for descending)\n  - page: integer (default 1)\n  - page_size: integer (1-100, default 25)\n  - content_types: string (comma-separated, e.g., \"image,artifact\")\n```\n\n### 6. Manage Teams, Members, and Webhooks\n\nUse `DOCKER_HUB_LIST_TEAMS` to list teams within an org, `DOCKER_HUB_ADD_ORG_MEMBER` to invite users, and `DOCKER_HUB_CREATE_WEBHOOK` for push notifications.\n\n```\nTool: DOCKER_HUB_LIST_TEAMS\n  - Lists all teams\u002Fgroups within a Docker Hub organization\n\nTool: DOCKER_HUB_ADD_ORG_MEMBER\n  - Invite a user to join an organization by Docker ID or email\n  - Requires owner or admin permissions\n\nTool: DOCKER_HUB_CREATE_WEBHOOK\n  - Create a webhook on a repository for image push notifications\n  - Two-step process: create webhook, then add hook URL\n  - Requires admin permissions on the repository\n```\n\n---\n\n## Known Pitfalls\n\n| Pitfall | Detail |\n|---------|--------|\n| JWT authentication | `DOCKER_HUB_CREATE_ORGANIZATION` requires JWT auth from `\u002Fv2\u002Fusers\u002Flogin` -- standard API tokens may not suffice. |\n| Private repo limits | Creating private repos (`is_private: true`) requires a paid Docker Hub plan. |\n| Org name constraints | Organization names must be lowercase, at least 2 characters, containing only letters, numbers, `.`, `_`, or `-`. |\n| Webhook two-step | `DOCKER_HUB_CREATE_WEBHOOK` is a two-step process: first create the webhook with a name, then add a hook URL to it. |\n| Pagination | All list endpoints use page-based pagination -- iterate pages until results are exhausted. |\n\n---\n\n## Quick Reference\n\n| Tool Slug | Description |\n|-----------|-------------|\n| `DOCKER_HUB_LIST_ORGANIZATIONS` | List orgs the user belongs to |\n| `DOCKER_HUB_CREATE_ORGANIZATION` | Create a new Docker Hub organization |\n| `DOCKER_HUB_GET_ORGANIZATION` | Get org details and repository list |\n| `DOCKER_HUB_CREATE_REPOSITORY` | Create a repository under a namespace |\n| `DOCKER_HUB_LIST_REPOSITORIES` | List repos with filtering and sorting |\n| `DOCKER_HUB_LIST_TEAMS` | List teams\u002Fgroups within an org |\n| `DOCKER_HUB_ADD_ORG_MEMBER` | Invite a user to an organization |\n| `DOCKER_HUB_CREATE_WEBHOOK` | Create push-notification webhook on a repo |\n\n---\n\n*Powered by [Composio](https:\u002F\u002Fcomposio.dev)*\n",{"name":5,"requires":47,"description":7},{"mcp":48},[49],"rube","main","2a76bf42ce5c860adf8d0f3fcf3f6804109ac65b","skills\u002Fdocker-hub-automation",0,"https:\u002F\u002Fgithub.com\u002Fonfire7777\u002Funiversal-ai-skills-library","https:\u002F\u002Fgithub.com\u002Fonfire7777\u002Funiversal-ai-skills-library\u002Fwiki","https:\u002F\u002Fgithub.com\u002Fonfire7777","trying to create something actually useful","2026-09-11 13:25:26",{"source":8,"skillName":5,"commands":60,"prompt":70,"zipAvailable":71},[61,64,67],{"tool":62,"command":63},"npx","npx skills add onfire7777\u002Funiversal-ai-skills-library --skill docker-hub-automation",{"tool":65,"command":66},"bunx","bunx skills add onfire7777\u002Funiversal-ai-skills-library --skill docker-hub-automation",{"tool":68,"command":69},"pnpm","pnpm dlx skills add onfire7777\u002Funiversal-ai-skills-library --skill docker-hub-automation","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fonfire7777\u002Funiversal-ai-skills-library\u002Fblob\u002Fmain\u002Fskills\u002Fdocker-hub-automation\u002FSKILL.md",true,[73,79,82],{"path":74,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":77,"sourceHtmlUrl":78},".openskills.json","REFERENCE","参考文档",260,"https:\u002F\u002Fgithub.com\u002Fonfire7777\u002Funiversal-ai-skills-library\u002Fblob\u002Fmain\u002Fskills\u002Fdocker-hub-automation\u002F.openskills.json",{"path":80,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":77,"sourceHtmlUrl":81},"references\u002Fmerged-from-docker_hub-automation-.openskills.json","https:\u002F\u002Fgithub.com\u002Fonfire7777\u002Funiversal-ai-skills-library\u002Fblob\u002Fmain\u002Fskills\u002Fdocker-hub-automation\u002Freferences\u002Fmerged-from-docker_hub-automation-.openskills.json",{"path":83,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":84,"sourceHtmlUrl":85},"references\u002Fmerged-from-docker_hub-automation.md",4349,"https:\u002F\u002Fgithub.com\u002Fonfire7777\u002Funiversal-ai-skills-library\u002Fblob\u002Fmain\u002Fskills\u002Fdocker-hub-automation\u002Freferences\u002Fmerged-from-docker_hub-automation.md",[87,110,119,129,150,166],{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":102,"publishedAt":42},"01M6J7MPK8ZE9VQJR4KK6ZMZJQ","zyte-api-automation","Automate Zyte API tasks via Rube MCP (Composio). Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002Fonfire7777\u002Funiversal-ai-skills-library\u002Fblob\u002Fmain\u002Fskills\u002Fzyte-api-automation\u002FSKILL.md",[93,96,97],{"categoryNo":94,"categoryName":95,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":98,"categoryName":99,"taxonomyType":100,"taxonomyTypeDesc":101},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[28,103,104,105,31,40,39,35,106,107,108,109],"api","zyte api automation","for","first","Tools","search","tasks",{"skillNo":111,"name":112,"nameZh":6,"description":113,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":117,"publishedAt":42},"01M6J7MK45K2ZZ0EWTP1N6SZ7F","zylvie-automation","Automate Zylvie tasks via Rube MCP (Composio). Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002Fonfire7777\u002Funiversal-ai-skills-library\u002Fblob\u002Fmain\u002Fskills\u002Fzylvie-automation\u002FSKILL.md",[116],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[28,118,31,109,105,40,39,35,106,107,108],"zylvie automation",{"skillNo":120,"name":121,"nameZh":6,"description":122,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":126,"publishedAt":42},"01M6J7MGDCVZ3YCXGEAPR5V3MS","zoominfo-automation","Automate Zoominfo tasks via Rube MCP (Composio). Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002Fonfire7777\u002Funiversal-ai-skills-library\u002Fblob\u002Fmain\u002Fskills\u002Fzoominfo-automation\u002FSKILL.md",[125],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[127,128,28,35,39,107,40,109,105,108,31,106],"zoominfo","zoominfo automation",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":136,"publishedAt":42},"01M6J7MDK48N09B7C6H9TCPY9A","zoom-out","Tell the agent to zoom out and give broader context or a higher-level perspective. Use when you're unfamiliar with a section of code or need to understand how it fits into the bigger picture.","https:\u002F\u002Fgithub.com\u002Fonfire7777\u002Funiversal-ai-skills-library\u002Fblob\u002Fmain\u002Fskills\u002Fzoom-out\u002FSKILL.md",[135],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[137,138,139,140,141,142,143,144,145,146,147,148,149],"zoom out","zoom","perspective","code","re","you","with","understand","it","use","context","how","true",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":157,"publishedAt":42},"01M6J7MAD47Q9A55AK3EXS914H","zoho-mail-automation","Automate Zoho Mail tasks via Rube MCP (Composio): email sending, folders, labels, and mailbox management. Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002Fonfire7777\u002Funiversal-ai-skills-library\u002Fblob\u002Fmain\u002Fskills\u002Fzoho-mail-automation\u002FSKILL.md",[156],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[158,159,160,161,28,162,108,109,31,107,163,105,40,164,39,165,35,106],"mail","zoho mail automation","zoho","zoho mail","email","labels","mailbox","management",{"skillNo":167,"name":168,"nameZh":6,"description":169,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":170,"categories":171,"keywords":176,"publishedAt":42},"01M6J7M76HTWPP8TRWWCDS42NB","zoho-invoice-automation","Automate Zoho Invoice tasks via Rube MCP (Composio): invoices, estimates, expenses, clients, and payment tracking. Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002Fonfire7777\u002Funiversal-ai-skills-library\u002Fblob\u002Fmain\u002Fskills\u002Fzoho-invoice-automation\u002FSKILL.md",[172,173],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":174,"categoryName":175,"taxonomyType":100,"taxonomyTypeDesc":101},"01JBSEEDCAT000000000000040","财务",[177,28,160,178,31,40,105,179,180,181,39,182,183,35,106,107,108,109],"invoice","zoho invoice automation","invoices","expenses","clients","payment","tracking"]