Get the FREE Ultimate OpenClaw Setup Guide →

Docker Hub Automation

Scanned
npx machina-cli add skill ComposioHQ/awesome-claude-skills/docker-hub-automation --openclaw
Files (1)
SKILL.md
4.7 KB

Docker 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

  1. Add the Composio MCP server to your client: https://rube.app/mcp
  2. Connect your Docker Hub account when prompted (JWT/token authentication)
  3. 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

PitfallDetail
JWT authenticationDOCKER_HUB_CREATE_ORGANIZATION requires JWT auth from /v2/users/login -- standard API tokens may not suffice.
Private repo limitsCreating private repos (is_private: true) requires a paid Docker Hub plan.
Org name constraintsOrganization names must be lowercase, at least 2 characters, containing only letters, numbers, ., _, or -.
Webhook two-stepDOCKER_HUB_CREATE_WEBHOOK is a two-step process: first create the webhook with a name, then add a hook URL to it.
PaginationAll list endpoints use page-based pagination -- iterate pages until results are exhausted.

Quick Reference

Tool SlugDescription
DOCKER_HUB_LIST_ORGANIZATIONSList orgs the user belongs to
DOCKER_HUB_CREATE_ORGANIZATIONCreate a new Docker Hub organization
DOCKER_HUB_GET_ORGANIZATIONGet org details and repository list
DOCKER_HUB_CREATE_REPOSITORYCreate a repository under a namespace
DOCKER_HUB_LIST_REPOSITORIESList repos with filtering and sorting
DOCKER_HUB_LIST_TEAMSList teams/groups within an org
DOCKER_HUB_ADD_ORG_MEMBERInvite a user to an organization
DOCKER_HUB_CREATE_WEBHOOKCreate 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

  1. Step 1: Add the Composio MCP server (https://rube.app/mcp) and connect your Docker Hub account (JWT/token auth).
  2. 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).
  3. 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.

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers