Manages cPanel email accounts and forwarders for infrastructure automation.
Install
mkdir -p .claude/skills/cpanel && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/17568" && unzip -o skill.zip -d .claude/skills/cpanel && rm skill.zipInstalls to .claude/skills/cpanel
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
How to manage cPanel email accounts, forwarders, and Instantly integration for Tesseract sending infrastructureKey capabilities
- →List existing cPanel email accounts
- →Create new cPanel email accounts with specified password and quota
- →List email forwarders for a given domain
- →Add new email forwarders to specified email addresses
- →Provision email accounts and add them to Instantly for warmup
- →Set up forwarders for Instantly sending accounts to a central inbox
How it works
The skill uses a CpanelConnector to interact with the cPanel UAPI. It sends requests to manage email accounts and forwarders, supporting actions like listing, creating, and adding forwarders.
Inputs & outputs
When to use cpanel
- →Provisioning new email accounts
- →Setting up email forwarders
- →Managing email server infrastructure
About this skill
cPanel API — Reference Skill
Infrastructure scope: Bluehost/cPanel is used for email infrastructure (Instantly sending accounts, forwarders) and other websites (skampakis.com, thedatascientist.com, etc.). The tesseract.academy WordPress site is hosted on Cloudways, NOT Bluehost.
Authentication
- cPanel API Token via
CPANEL_TOKENenv var - Host:
CPANEL_HOSTenv var (skampakis.com— Bluehost, cPanel user:skampaki) - Username:
CPANEL_USERNAMEenv var - Auth header:
Authorization: cpanel <username>:<token> - Base URL:
https://<host>:2083/execute
Quick Reference: Endpoints
| Action | UAPI Module | Key Params |
|---|---|---|
| List email accounts | Email::list_pops | — |
| Create email account | Email::add_pop | email, password, domain, quota |
| List forwarders | Email::list_forwarders | domain |
| Add forwarder | Email::add_forwarder | email, domain, fwdopt=fwd, fwdemail |
Connector Methods
from tesseract_operator.connectors.cpanel import CpanelConnector
cpanel = CpanelConnector(
host=os.environ["CPANEL_HOST"],
username=os.environ["CPANEL_USERNAME"],
token=os.environ["CPANEL_TOKEN"],
dry_run=False,
)
# List all email accounts
accounts = cpanel.list_emails()
# Create a new email account
cpanel.create_email(email="sales1", password="...", domain="example.com", quota=500)
# List forwarders for a domain
fwds = cpanel.list_forwarders(domain="example.com")
# Add a forwarder
cpanel.add_forwarder(email="sales1", domain="example.com", forward_to="[email protected]")
Scripts
Provision Emails
Create email accounts on cPanel and add them to Instantly for warmup:
python scripts/provision_emails.py \
--domain tesseract-academy.tech \
--prefix sales \
--count 3 \
--password "SuperSecret123!"
Setup Forwarders
Forward replies from all Instantly sending accounts to a central Gmail inbox:
# Dry run first
python scripts/setup_forwarders.py --forward-to [email protected] --dry-run
# Live run
python scripts/setup_forwarders.py --forward-to [email protected]
This scans all active Instantly campaigns, identifies sending accounts, and creates cPanel forwarders on each one. Skips accounts that already have forwarders.
Current Infrastructure
10 domains on Bluehost cPanel with 26 sending accounts in the active Greek CEOs campaign:
| Domain | Accounts |
|---|---|
| academytesseract.com | 1 |
| globaltesseract.co | 1 |
| tesseract-academy-ai-web3.com | 2 |
| tesseract-academy-ai-web3.net | 2 |
| tesseract-academy-ai-web3.org | 5 |
| tesseract-academy.com | 2 |
| tesseract-academy.tech | 1 |
| tesseractacademy.org | 5 |
| tesseractacademy.tech | 3 |
| the-tes-academy.com | 4 |
All 26 accounts forward to [email protected].
Naming Conventions (MANDATORY)
- Personal over Generic: NEVER use generic prefixes (
sales,info,outreach) for outreach accounts unless explicitly requested. Stylianos (Stelios) Kampakis's personal brand is central to the project. - Preferred Patterns:
stelios@domainstylianos@domains.kampakis@domainstelios.kampakis@domainstylianos.kampakis@domain
- Confirmation: Always confirm the specific mailbox name with the user before creation if it's not a common pattern or previously used for that domain.
Known Gotchas
- OPERATOR_DRY_RUN: The global
OPERATOR_DRY_RUN=1in.envaffectsOperatorConfig. Scripts that need live API access should usedotenvdirectly instead ofOperatorConfig. - cPanel UAPI uses query params: Even for POST endpoints, pass data as
params={}notjson_body={}. - Forwarder param name: The destination email param is
fwdemail, notforward_to. - Generic Prefix Trap: Avoid generic
salesNnaming (M-2026-05-05-01).
When not to use it
- →For managing tesseract.academy WordPress site
- →When generic email prefixes are preferred for outreach accounts
- →When `CPANEL_TOKEN`, `CPANEL_HOST`, or `CPANEL_USERNAME` are not set
Prerequisites
Limitations
- →tesseract.academy WordPress site is hosted on Cloudways, NOT Bluehost
- →cPanel UAPI uses query params even for POST endpoints
- →Avoid generic `salesN` naming for outreach accounts
How it compares
This skill provides programmatic control over cPanel email infrastructure, enabling automated provisioning and management of email accounts and forwarders, unlike manual cPanel interface usage.
Compared to similar skills
cpanel side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| cpanel (this skill) | 0 | 1mo | Review | Intermediate |
| setup | 12 | 1mo | No flags | Beginner |
| tmux | 20 | 2mo | Review | Intermediate |
| macos-cleaner | 16 | 1mo | Review | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by stelios12312312
View all by stelios12312312 →You might also like
setup
barefootford
Sets up a Mac for ButterCut. Installs all required dependencies (Homebrew, Ruby, Python, FFmpeg, WhisperX). Use when user says "install buttercut", "set up my mac", "get started", "first time setup", "install dependencies" or "check my installation".
tmux
openclaw
Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.
macos-cleaner
daymade
Analyze and reclaim macOS disk space through intelligent cleanup recommendations. This skill should be used when users report disk space issues, need to clean up their Mac, or want to understand what's consuming storage. Focus on safe, interactive analysis with user confirmation before any deletions.
ms365-tenant-manager
alirezarezvani
Microsoft 365 tenant administration for Global Administrators. Automate M365 tenant setup, Office 365 admin tasks, Azure AD user management, Exchange Online configuration, Teams administration, and security policies. Generate PowerShell scripts for bulk operations, Conditional Access policies, license management, and compliance reporting. Use for M365 tenant manager, Office 365 admin, Azure AD users, Global Administrator, tenant configuration, or Microsoft 365 automation.
agent-workflow-automation
ruvnet
Agent skill for workflow-automation - invoke with $agent-workflow-automation
tmux-terminal
mikeyobrien
Interactive terminal control via tmux for TUI apps, prompts, and long-running CLI workflows.