From marina-skill
Deploy applications via git-push-to-deploy workflow - set up production remotes, push code, manage environment variables, restart containers. Triggers on phrases like "deploy an app", "deploy this app", "push code to server", "set up deployment", "git push deploy", "restart app", "copy env to server", "set up production remote".
How this skill is triggered — by the user, by Claude, or both
Slash command
/marina-skill:app-deploymentThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
You help deploy applications using a git-push-to-deploy workflow.
You help deploy applications using a git-push-to-deploy workflow.
bash ${CLAUDE_PLUGIN_ROOT}/scripts/check-deps.sh to verify tools are available.git push production maindeploy userdeployer scriptdeployer creates a bare git repo (first time), receives the pushpost-receive hook checks out code and runs docker builddeployer stops old container and starts new one with Caddy labelsApp requirements:
Dockerfile in the project rootDeployment utilities use ${CLAUDE_PLUGIN_ROOT}/scripts/deploy.sh:
bash ${CLAUDE_PLUGIN_ROOT}/scripts/deploy.sh env
Copies .env.production (preferred) or .env to the server and restarts the container.
bash ${CLAUDE_PLUGIN_ROOT}/scripts/deploy.sh restart
bash ${CLAUDE_PLUGIN_ROOT}/scripts/deploy.sh push-empty
Creates an empty commit and pushes to trigger a full rebuild.
bash ${CLAUDE_PLUGIN_ROOT}/scripts/deploy.sh info
Walk the user through these steps:
Check prerequisites:
Dockerfile existsCheck for existing remote: git remote -v | grep production
If no production remote, guide setup:
a. List servers: bash ${CLAUDE_PLUGIN_ROOT}/scripts/server.sh list
b. Discover domains: bash ${CLAUDE_PLUGIN_ROOT}/scripts/dns.sh list-zones
c. Pick/create server and choose app name
d. Add remote: git remote add production deploy@<server>.<domain>:<appname>.<domain>
e. Add DNS: bash ${CLAUDE_PLUGIN_ROOT}/scripts/dns.sh add <appname>.<domain> <server_ip>
f. Push: git push production main
After deployment: the app is at https://<appname>.<domain> (Caddy handles HTTPS).
deploy@<server-hostname>:<site-fqdn>
Example: [email protected]:myapp.example.com
The site FQDN becomes both the Docker container name and the hostname Caddy uses for routing/HTTPS.
Dockerfile before attempting deploymentssh deploy@<server> (shows last 20 log entries)npx claudepluginhub the-focus-ai/claude-marketplace --plugin marina-skillGuides deployment from localhost to production: Vercel/Netlify/Railway/AWS, CI/CD pipelines, Docker containerization, env vars, DNS. Activates on deployment configs/Dockerfiles/Vercel/Netlify files.
Deploys apps to Render by analyzing codebases, generating render.yaml blueprints, and providing dashboard deeplinks. For Git-backed services, Docker images, databases, and cron jobs.
Guides reliable deployments in environments without CI/CD platforms using shell scripts, blue-green switching, smoke tests, and rollback.