[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CJQTSBTM3Z2YTHG3JWDAF1":3,"skill-same:01M6CJQTSBTM3Z2YTHG3JWDAF1":69},{"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":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":46,"commitSha":47,"skillDirectory":48,"forksCount":49,"repositoryHtmlUrl":50,"repositoryHomepageUrl":51,"ownerHtmlUrl":52,"ownerBlogUrl":53,"ownerDescription":6,"updatedAt":54,"install":55,"resources":68},"01M6CJQTSBTM3Z2YTHG3JWDAF1","Docker Hub Automation",null,"Automate Docker Hub operations -- manage organizations, repositories, teams, members, and webhooks via the Composio MCP integration.","openteams-lab\u002Fopenteams","openteams-lab","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F260174438?v=4","01M6CJ3RQG7RNB6WD3MZHXA49K","Open Teams","01M6CJ3RVFC9PN20ARS8AP0S0R",588,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fopenteams-lab\u002Fopenteams\u002Fblob\u002Fmain\u002Fassets\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,5,30,31,32,33,34,35,36,37],"docker","automation","hub","MCP","teams","integration","MCP Integration","automate","operations","webhooks","manage","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":43,"description":7},{"mcp":44},[45],"rube","main","4180cbf3e82c49da08cab01820d0c559313b3761","assets\u002Fskills\u002Fdocker-hub-automation",76,"https:\u002F\u002Fgithub.com\u002Fopenteams-lab\u002Fopenteams","https:\u002F\u002Fopenteams-lab.com","https:\u002F\u002Fgithub.com\u002Fopenteams-lab","https:\u002F\u002Fopenteams-lab.com\u002F","2026-11-10 13:48:49",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add openteams-lab\u002Fopenteams --skill \"Docker Hub Automation\"",{"tool":61,"command":62},"bunx","bunx skills add openteams-lab\u002Fopenteams --skill \"Docker Hub Automation\"",{"tool":64,"command":65},"pnpm","pnpm dlx skills add openteams-lab\u002Fopenteams --skill \"Docker Hub Automation\"","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fopenteams-lab\u002Fopenteams\u002Fblob\u002Fmain\u002Fassets\u002Fskills\u002Fdocker-hub-automation\u002FSKILL.md",true,[],[70,99,124,141,150,159],{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":82,"publishedAt":38},"01M6CMDVAZMAZMCWBGC2G37B4J","cloudflare","Comprehensive Cloudflare platform skill covering Workers, Pages, storage (KV, D1, R2), AI (Workers AI, Vectorize, Agents SDK), networking (Tunnel, Spectrum), security (WAF, DDoS), and infrastructure-as-code (Terraform, Pulumi). Use for any Cloudflare development task.","https:\u002F\u002Fgithub.com\u002Fopenteams-lab\u002Fopenteams\u002Fblob\u002Fmain\u002Fopenteams-cli\u002Fpackages\u002Fopenteams-cli\u002Ftest\u002Ffixture\u002Fskills\u002Fcloudflare\u002FSKILL.md",[76,77],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":78,"categoryName":79,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[72,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98],"objects","networking","task","workers","use","ddos","infrastructure-as-code","waf","terraform","code","development","infrastructure","storage","security","sdk","agents sdk",{"skillNo":100,"name":101,"nameZh":6,"description":102,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":103,"categories":104,"keywords":109,"publishedAt":38},"01M6CMDRTM6DKWD571PY87K3CC","agents-sdk","Build AI agents on Cloudflare Workers using the Agents SDK. Load when creating stateful agents, durable workflows, real-time WebSocket apps, scheduled tasks, MCP servers, or chat applications. Covers Agent class, state management, callable RPC, Workflows integration, and React hooks.","https:\u002F\u002Fgithub.com\u002Fopenteams-lab\u002Fopenteams\u002Fblob\u002Fmain\u002Fopenteams-cli\u002Fpackages\u002Fopenteams-cli\u002Ftest\u002Ffixture\u002Fskills\u002Fagents-sdk\u002FSKILL.md",[105,108],{"categoryNo":106,"categoryName":107,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[98,97,110,111,72,32,112,113,114,115,116,117,118,86,119,120,30,121,122,123],"rpc","state management","websocket","real-time","mcp servers","applications","state","hooks","cloudflare workers","build","tasks","ai agents","workflows","react",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":135,"publishedAt":38},"01M6CMDP9NZPGWFJ1Q678D6RXK","zyte-api-automation","Automate Zyte API tasks via Rube MCP (Composio). Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002Fopenteams-lab\u002Fopenteams\u002Fblob\u002Fmain\u002Fassets\u002Fskills\u002Fzyte-api-automation\u002FSKILL.md",[130,133,134],{"categoryNo":131,"categoryName":132,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":78,"categoryName":79,"taxonomyType":80,"taxonomyTypeDesc":81},[28,136,137,30,120,138,139,140,34],"api","zyte api automation","search","Tools","first",{"skillNo":142,"name":143,"nameZh":6,"description":144,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":145,"categories":146,"keywords":148,"publishedAt":38},"01M6CMDKGPNWJG6SRCNQJMPY9D","zylvie-automation","Automate Zylvie tasks via Rube MCP (Composio). Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002Fopenteams-lab\u002Fopenteams\u002Fblob\u002Fmain\u002Fassets\u002Fskills\u002Fzylvie-automation\u002FSKILL.md",[147],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[149,28,120,30,138,139,140,34],"zylvie automation",{"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":38},"01M6CMDGPT353ZHSBGKWSEAR2W","zoominfo-automation","Automate Zoominfo tasks via Rube MCP (Composio). Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002Fopenteams-lab\u002Fopenteams\u002Fblob\u002Fmain\u002Fassets\u002Fskills\u002Fzoominfo-automation\u002FSKILL.md",[156],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[28,158,30,120,138,139,140,34],"zoominfo automation",{"skillNo":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":163,"categories":164,"keywords":166,"publishedAt":38},"01M6CMDDV7FSVNANZ090ZWR612","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\u002Fopenteams-lab\u002Fopenteams\u002Fblob\u002Fmain\u002Fassets\u002Fskills\u002Fzoho_mail-automation\u002FSKILL.md",[165],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[167,168,28,30,120,138,169,139,140,34,170],"zoho mail automation","zoho","email","management"]