/SKILL.md
Manage and troubleshoot Coolify deployments using the official CLI and API. Use this skill when the user needs help with Coolify server management, WordPress troubleshooting on Coolify, debugging service issues, checking SSL certificates, accessing containers, or managing applications and databases through Coolify. Particularly useful for diagnosing down services, fixing .htaccess issues, REST API problems, and performing deployment operations.
npx skillsauth add ajmcclary/coolify-manager coolify-managerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill enables management of Coolify deployments through both the official CLI and direct API access. It provides workflows for diagnosing service issues, fixing common WordPress problems, managing containers, and performing deployment operations across self-hosted and cloud Coolify instances.
Before proceeding, verify:
/security/api-tokensInvoke this skill when the user:
If the CLI is not already installed, use the bundled installation script:
bash scripts/install_coolify_cli.sh
This installs to ~/.local/bin/coolify. Ensure this directory is in the user's PATH:
export PATH="$HOME/.local/bin:$PATH"
Add this line to the user's shell configuration file (~/.bashrc, ~/.zshrc, etc.) for persistence.
Add the user's Coolify instance:
coolify context add <context-name> <coolify-url> <api-token>
Example:
coolify context add production https://coolify.example.com YOUR_API_TOKEN
coolify context verify
This confirms successful authentication and connectivity.
Run the bundled health check script:
bash scripts/check_health.sh
This displays:
When a user reports an issue:
Is it service availability?
Is it WordPress-specific?
Is it performance/configuration?
# List all resources with status
coolify resource list
# Get detailed service info
coolify service get SERVICE_UUID
# Check specific application
coolify app get APP_UUID
Status indicators:
running:healthy - Service is operationalrunning:unhealthy - Service has issues (check logs)stopped - Service is not runningdeploying - Deployment in progress# Application logs
coolify app logs APP_UUID
# Get more lines
coolify app logs APP_UUID --lines 500
For services with multiple components (like WordPress with database), get the service details first to identify component UUIDs:
coolify service get SERVICE_UUID --format json
Then extract application/database UUIDs from the JSON output.
When CLI doesn't provide needed functionality, use direct API calls. Reference: references/api_endpoints.md
Example - Get detailed service configuration:
curl -H "Authorization: Bearer API_TOKEN" \
https://coolify-instance.com/api/v1/services/SERVICE_UUID
# Services
coolify service start SERVICE_UUID
coolify service stop SERVICE_UUID
coolify service restart SERVICE_UUID
# Applications
coolify app start APP_UUID
coolify app stop APP_UUID
coolify app restart APP_UUID
# Databases
coolify database start DB_UUID
coolify database stop DB_UUID
coolify database restart DB_UUID
# Deploy by UUID
coolify deploy APP_UUID
# Check deployment status
coolify deploy list APP_UUID
# List env vars
coolify app env list APP_UUID
# Add/update env var
coolify app env set APP_UUID VAR_NAME "value"
# Delete env var
coolify app env delete APP_UUID VAR_NAME
# Restart to apply changes
coolify app restart APP_UUID
For WordPress-specific issues, reference: references/wordpress_fixes.md
Via Coolify Web Terminal (Recommended):
Via Docker (if SSH access available):
docker exec -it CONTAINER_NAME bash
WordPress files are located at: /var/www/html/
This is a critical issue that requires immediate action:
cd /var/www/html
cat .htaccess
sed -i '$d' /var/www/html/.htaccess
To increase PHP limits (max_input_vars, upload limits, etc.):
Correct syntax (no = sign, use space):
echo "php_value max_input_vars 3000" >> /var/www/html/.htaccess
echo "php_value upload_max_filesize 64M" >> /var/www/html/.htaccess
echo "php_value post_max_size 128M" >> /var/www/html/.htaccess
echo "php_value memory_limit 256M" >> /var/www/html/.htaccess
Verify:
tail -5 /var/www/html/.htaccess
If Site Health reports REST API unavailable but the site works normally:
Test REST API externally:
curl https://site.com/wp-json/
If JSON returns, it's a false positive - the API works fine
Common cause: Site Health loopback test is blocked, not the actual API
Verify HTTP_AUTHORIZATION in .htaccess:
grep "HTTP_AUTHORIZATION" /var/www/html/.htaccess
Should contain:
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
For detailed WordPress troubleshooting steps, load references/wordpress_fixes.md into context.
Check certificate status:
echo | openssl s_client -servername domain.com -connect domain.com:443 2>/dev/null | openssl x509 -noout -dates -subject -issuer
Coolify uses Traefik with Let's Encrypt for automatic SSL. Certificates auto-renew before expiration.
If certificate is invalid:
Switch between Coolify instances:
# List contexts
coolify context list
# Switch context
coolify context use staging
# Perform operations
coolify deploy APP_UUID
# Switch back
coolify context use production
Use --format json with tools like jq:
# Get all unhealthy services
coolify resource list --format json | jq '.[] | select(.status | contains("unhealthy"))'
# Get all running applications
coolify resource list --format json | jq '.[] | select(.type=="application" and .status=="running")'
# Extract service UUIDs
coolify service list --format json | jq -r '.[].uuid'
# List servers with IPs/ports
coolify server list -s
# Validate server connection
coolify server validate SERVER_UUID
# Get server domains
coolify server domains SERVER_UUID
# List databases
coolify database list
# Backup database
coolify database backup DB_UUID
# List backups
coolify database backups DB_UUID
This skill includes comprehensive reference documentation:
Load references/cli_commands.md when the user needs detailed CLI command syntax, flags, or examples.
Load references/api_endpoints.md when performing direct API calls or when CLI doesn't support the needed operation.
Load references/wordpress_fixes.md when troubleshooting WordPress-specific issues like .htaccess problems, PHP configuration, REST API issues, or SSL certificates.
coolify resource listcoolify service get UUIDcoolify app logs APP_UUIDcoolify resource list/var/www/html.htaccess for syntax errorscurl https://site.com/wp-json/coolify deploy list APP_UUIDcoolify deploy get DEPLOY_UUIDcoolify app logs APP_UUIDcoolify deploy APP_UUIDEnsure ~/.local/bin is in PATH:
echo $PATH | grep ".local/bin"
If not found:
export PATH="$HOME/.local/bin:$PATH"
Add to shell config for persistence.
curl -H "Authorization: Bearer TOKEN" https://instance.com/api/v1/version
Ensure API token has required permissions:
Check token permissions in Coolify dashboard at /security/api-tokens.
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.