From coolify
Manage Coolify self-hosting platform via Playwright browser automation. Use when the user asks to deploy, check status, manage services, view logs, or configure anything in Coolify.
How this skill is triggered — by the user, by Claude, or both
Slash command
/coolify:coolifyThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Drive the Coolify dashboard with the Playwright MCP. The two common tasks are **diagnosing a failed deploy** and **editing env vars** — they get top billing below.
Drive the Coolify dashboard with the Playwright MCP. The two common tasks are diagnosing a failed deploy and editing env vars — they get top billing below.
Read ~/Development/dotfiles/.env for COOLIFY_URL, COOLIFY_EMAIL, COOLIFY_PASSWORD. Never log credentials.
browser_navigate → ${COOLIFY_URL}/loginbrowser_fill_form — email field is name="email", password is the other textboxbrowser_click "Login" — confirm redirect to / (title [Coolify] Dashboard | Coolify)If the URL stays on /login, snapshot to diagnose.
Navigate directly — don't waste snapshots discovering these:
/project/yigq03fkxrvp4lr52i5bp566/environment/chsb8glurvyjrlj9l4yuojdt/application/n12dggw9rku2pkxisijlwjnz (db dxut8rqjkfjqktdgofa9kgp4)/project/us04gc844kssg8g80wo04kss/environment/t4kckks4gwos08w08w0o008o/project/z40wssk4wws0swgowwk0o8w0/environment/u44k4w4gg8ooc0w88co840ok/project/h4gocsooggokgoo0g8wgosk4/environment/twcs44gwgw8s0ok84skc0sow/project/i8oc84kkw0ok4wossos4co4c/environment/uwo0okwg0g884cgogo4o84woFor unknown projects, snapshot / once to grab IDs.
App-level URL suffixes: /deployment, /deployment/{id}, /logs, /environment-variables.
Go to …/application/{app_id}/deployment — heading shows Deployments (N), paginated 10 per page. Each row has Status (Success/Failed), commit SHA + message, duration, age, and Webhook/Manual.
Click into the latest Failed row → …/deployment/{deployment_id}.
The accessibility snapshot will not show log text — logs live in div.flex.flex-col.overflow-y-auto.p-2.px-4 and one child element typically holds thousands of lines. Pull the last child's innerText directly:
() => {
const c = document.querySelector('.flex.flex-col.overflow-y-auto.p-2.px-4');
if (!c) return 'Log container not found';
const last = c.children[c.children.length - 1];
return last ? last.innerText.split('\n').slice(-200).join('\n') : 'empty';
}
Search the output for error, failed, unhealthy, exit code. Summarize the root cause to the user in 2–3 sentences and let them decide next steps. The standard branch → PR → merge → redeploy flow is covered by the global git rules — don't reinvent it here.
URL: …/application/{app_id}/environment-variables. Page splits into Production Environment Variables and Preview Deployments Environment Variables, each rendered as a list of inline rows.
Each row has three text inputs (name="key", name="value" (type=password — toggle to reveal), name="comment") plus four checkboxes (Build Variable, Multiline, Literal, Shared) and per-row Update / Lock / Delete buttons. A locked variable can't be edited until unlocked.
Above the list:
KEY=value textarea for paste-in edits; click again or Save to commit.After any change Coolify shows a "Confirm Application Stopping?" modal — confirming triggers a restart so the new value takes effect. Tell the user this will cause a brief restart before clicking through.
For org-wide values, the project page has a Shared Variables tab — prefer it when the same secret is reused across apps in the team.
/ — projects show inline; click into a project to see Applications/Databases with running/stopped/failed badges.…/application/{app_id}/logs.apps/web/app/api/v1/webhooks/coolify/route.ts in the Siltop repo.browser_evaluate for log-style content that the a11y tree drops.Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub mikesilvis/ai-skills --plugin coolify