Docker Hub Automation
Scannednpx machina-cli add skill ComposioHQ/awesome-claude-skills/docker-hub-automation --openclawDocker Hub Automation
Automate your Docker Hub workflows -- create and manage organizations, repositories, teams, add members, set up image push webhooks, and list container images.
Toolkit docs: composio.dev/toolkits/docker_hub
Setup
- Add the Composio MCP server to your client:
https://rube.app/mcp - Connect your Docker Hub account when prompted (JWT/token authentication)
- Start using the workflows below
Core Workflows
1. List Organizations
Use DOCKER_HUB_LIST_ORGANIZATIONS to discover which organizations the authenticated user belongs to.
Tool: DOCKER_HUB_LIST_ORGANIZATIONS
Inputs:
- page: integer (1-indexed, default 1)
- page_size: integer (1-100, default 25)
2. Create an Organization
Use DOCKER_HUB_CREATE_ORGANIZATION to programmatically create a new Docker Hub organization.
Tool: DOCKER_HUB_CREATE_ORGANIZATION
Inputs:
- orgname: string (required) -- lowercase, letters/numbers/._- only, min 2 chars
- company: string (optional) -- company name associated with the org
Note: Requires JWT authentication obtained via /v2/users/login and may have restricted access.
3. Get Organization Details and Repositories
Use DOCKER_HUB_GET_ORGANIZATION to retrieve namespace info and its repositories. Works with any public namespace.
Tool: DOCKER_HUB_GET_ORGANIZATION
Inputs:
- organization: string (required) -- e.g., "docker", "bitnami", "library"
4. Create a Repository
Use DOCKER_HUB_CREATE_REPOSITORY to create public or private repositories under a namespace.
Tool: DOCKER_HUB_CREATE_REPOSITORY
Inputs:
- namespace: string (required) -- Docker Hub username or org name
- name: string (required) -- lowercase; letters, numbers, ._- allowed
- description: string (optional) -- max 100 characters
- full_description: string (optional) -- Markdown README content
- is_private: boolean (default false) -- private repos require paid plan
5. List Repositories with Filtering
Use DOCKER_HUB_LIST_REPOSITORIES to enumerate repos within a namespace with sorting and content-type filtering.
Tool: DOCKER_HUB_LIST_REPOSITORIES
Inputs:
- namespace: string (required) -- e.g., "library", "myorg"
- ordering: "name" | "last_updated" | "pull_count" (prefix with - for descending)
- page: integer (default 1)
- page_size: integer (1-100, default 25)
- content_types: string (comma-separated, e.g., "image,artifact")
6. Manage Teams, Members, and Webhooks
Use 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.
Tool: DOCKER_HUB_LIST_TEAMS
- Lists all teams/groups within a Docker Hub organization
Tool: DOCKER_HUB_ADD_ORG_MEMBER
- Invite a user to join an organization by Docker ID or email
- Requires owner or admin permissions
Tool: DOCKER_HUB_CREATE_WEBHOOK
- Create a webhook on a repository for image push notifications
- Two-step process: create webhook, then add hook URL
- Requires admin permissions on the repository
Known Pitfalls
| Pitfall | Detail |
|---|---|
| JWT authentication | DOCKER_HUB_CREATE_ORGANIZATION requires JWT auth from /v2/users/login -- standard API tokens may not suffice. |
| Private repo limits | Creating private repos (is_private: true) requires a paid Docker Hub plan. |
| Org name constraints | Organization names must be lowercase, at least 2 characters, containing only letters, numbers, ., _, or -. |
| 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. |
| Pagination | All list endpoints use page-based pagination -- iterate pages until results are exhausted. |
Quick Reference
| Tool Slug | Description |
|---|---|
DOCKER_HUB_LIST_ORGANIZATIONS | List orgs the user belongs to |
DOCKER_HUB_CREATE_ORGANIZATION | Create a new Docker Hub organization |
DOCKER_HUB_GET_ORGANIZATION | Get org details and repository list |
DOCKER_HUB_CREATE_REPOSITORY | Create a repository under a namespace |
DOCKER_HUB_LIST_REPOSITORIES | List repos with filtering and sorting |
DOCKER_HUB_LIST_TEAMS | List teams/groups within an org |
DOCKER_HUB_ADD_ORG_MEMBER | Invite a user to an organization |
DOCKER_HUB_CREATE_WEBHOOK | Create push-notification webhook on a repo |
Powered by Composio
Source
git clone https://github.com/ComposioHQ/awesome-claude-skills/blob/master/composio-skills/docker-hub-automation/SKILL.mdView on GitHub Overview
Docker Hub Automation provides programmable workflows to create and manage organizations, repositories, teams, and members, and to set up image push webhooks and repository listings. Built on the Composio MCP integration, it standardizes Docker Hub operations with JWT-based authentication. This makes routine admin tasks faster and less error-prone.
How This Skill Works
The skill exposes a suite of Tools (e.g., DOCKER_HUB_LIST_ORGANIZATIONS, DOCKER_HUB_CREATE_ORGANIZATION, DOCKER_HUB_CREATE_REPOSITORY, DOCKER_HUB_CREATE_WEBHOOK) that perform Docker Hub API calls after authenticating through MCP. Some actions require admin/owner permissions and JWT obtained via /v2/users/login. Webhooks are a two-step process (create, then add the URL), and all list endpoints support pagination and filtering.
When to Use It
- When onboarding a new Docker Hub organization and standardizing its naming and metadata.
- When creating a new repository within a namespace with a description and privacy setting.
- When listing all organizations the authenticated user belongs to to discover available scopes.
- When inviting or managing teams and members within an organization.
- When setting up image push notifications via webhooks or listing repositories with content-type filters.
Quick Start
- Step 1: Add the Composio MCP server (https://rube.app/mcp) and connect your Docker Hub account (JWT/token auth).
- Step 2: Choose a workflow, e.g., DOCKER_HUB_CREATE_ORGANIZATION or DOCKER_HUB_CREATE_REPOSITORY, and supply required inputs (orgname or namespace and name).
- Step 3: Review the results, then extend with teams, members, or webhooks as needed (noting two-step webhook setup if applicable).
Best Practices
- Use a dedicated organization per project to keep access control clear.
- Validate organization and repository names against Docker Hub constraints (lowercase; letters, numbers, and ._- allowed).
- Be mindful of private repos: they require a paid Docker Hub plan.
- Follow the two-step webhook flow: create the webhook first, then configure the target URL.
- When listing resources, account for pagination to avoid missing results.
Example Use Cases
- Create a new organization with a descriptive company name and a short description.
- Create a public or private repository under an existing namespace with an optional full README.
- List all teams within a Docker Hub organization to plan access control.
- Invite a new member to join an organization by Docker ID or email.
- Create a webhook on a repository for image push notifications and attach the target URL.