Skip to content
Back to skills

Docker Hub Automation

ASecurity

Automate Docker Hub operations -- manage organizations, repositories, teams, members, and webhooks via the Composio MCP integration.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 8, 2026
documentationdockerapisecurity

Works with

  • cli
  • api
  • mcp

Security analysis

A100/100

Scanned September 8, 2026

npx -y skills add thiagofernandes1987-create/APEX --skill docker-hub-automation --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Docker Hub Automation?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Docker Hub Automation
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/thiagofernandes1987-create-docker-hub-automation/badge)](https://www.skillsdirectory.com/skills/thiagofernandes1987-create-docker-hub-automation)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: Docker Hub Automation
description: "Automate Docker Hub operations -- manage organizations, repositories, teams, members, and webhooks via the Composio MCP integration."
requires:
  mcp:
    - rube
executor: HYBRID
skill_id: integrations.composio.docker-hub-automation
status: ADOPTED
security: {level: standard, pii: false, approval_required: false}
extends: integrations.composio.meta
toolkit: docker-hub-automation
# Phase3: This stub routes to the meta-skill. See skills/integrations/composio/SKILL.md for full protocol.
anchors:
  - automation
  - integration
  - api
  - workflow
tier: 3
input_schema:
  - name: code_or_task
    type: string
    description: "Code snippet, script, or task description to process"
    required: true
output_schema:
  - name: result
    type: object
    description: "Result from the automated action"
  - name: status
    type: string
    description: "Execution status: success | partial | failure"
what_if_fails: >
  FALLBACK: If Docker cannot complete, provide partial results with
  explicit gaps noted. Never block workflow silently.
  ESCALATE: If core capability is unavailable, suggest nearest alternative skill.
  RULE: Always explain what failed and what manual steps can substitute.
---

# 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](https://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

| 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](https://composio.dev)*

## Why This Skill Exists
Stub for the `docker-hub-automation` toolkit in the Composio integration ecosystem.
Extends `integrations.composio.meta` — see the meta-skill for full protocol.

## When to Use
Use when automating `docker-hub-automation` tasks via Rube MCP (Composio).
For generic Composio queries, use `integrations.composio.meta` directly.

## What If Fails
See `skills/integrations/composio/SKILL.md` (meta-skill) for full fallback protocol.
RULE: Never block workflow — always suggest manual alternative if automation fails.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.