google-agents-cli-scaffold
Project scaffolding, deployment configuration, and CI/CD setup for Google ADK agents.
docker-local-troubleshoot
Diagnose and fix docker-local issues - container failures, connectivity problems, port conflicts, and configuration errors
Full skill instructions
This skill helps diagnose and fix common docker-local issues including:
Use this skill when:
Before ANY docker-local command, verify installation:
which docker-local > /dev/null 2>&1
If docker-local is NOT found:
composer global require mwguerra/docker-localexport PATH="$HOME/.composer/vendor/bin:$PATH"docker-local initwhich docker-local && docker-local --versionUse the fix command for automatic diagnosis and resolution:
# Run all checks and auto-fix what's possible
docker-local fix
# Target specific areas
docker-local fix --dns # Only check/fix DNS issues
docker-local fix --docker # Only check/fix Docker daemon
docker-local fix --services # Only check/fix container services
docker-local fix --hosts # Only check/fix /etc/hosts
# Additional options
docker-local fix --verbose # Show detailed diagnostic info
docker-local fix --dry-run # Show what would be fixed without making changes
The fix command automatically detects and resolves:
# Check docker-local status
docker-local status
# View recent logs
docker-local logs --tail=50
# Check Docker system
docker info
docker system df
Error: Docker is not running
Diagnosis:
docker info 2>&1
systemctl status docker # Linux
Fix:
# Linux
sudo systemctl start docker
# macOS
open -a Docker
# Windows (WSL2)
# Start Docker Desktop from Windows Start Menu
Error: Port 3306 already in use
Diagnosis:
# Find what's using the port
lsof -i :3306
netstat -tulpn | grep 3306
# Common ports to check:
# 80, 443 - Traefik/HTTP
# 3306 - MySQL
# 5432 - PostgreSQL
# 6379 - Redis
# 9000, 9001 - MinIO
# 1025, 8025 - Mailpit
Fix:
# Kill the process using the port
kill $(lsof -t -i:3306)
# Or change port in config
# Edit ~/.config/docker-local/config.json
Container php: Exited (1)
Diagnosis:
# Check logs for the failing container
docker-local logs php
# Check exit code
docker inspect --format='{{.State.ExitCode}}' php
# Exit codes:
# 0 - Normal stop
# 1 - Application error
# 137 - Out of memory (OOM killed)
# 139 - Segmentation fault
Fix based on exit code:
# Exit 1 - Check application logs
docker-local logs php --tail=100
# Exit 137 - Increase Docker memory
# Docker Desktop > Settings > Resources > Memory
# Restart the container
docker-local restart
Error: Permission denied
Diagnosis:
# Check user permissions
id
groups
# Check project permissions
ls -la ~/projects/
# Check Docker socket
ls -la /var/run/docker.sock
Fix:
# Linux: Add user to docker group
sudo usermod -aG docker $USER
newgrp docker
# Fix project permissions
sudo chown -R $USER:$USER ~/projects
# Fix socket permissions (temporary)
sudo chmod 666 /var/run/docker.sock
SQLSTATE[HY000] [2002] Connection refused
Diagnosis:
# Check if database container is running
docker-local status
# Check database logs
docker-local logs mysql
docker-local logs postgres
# Test connection from inside container
docker exec php php -r "new PDO('mysql:host=mysql;dbname=laravel', 'laravel', 'secret');"
Fix:
# Ensure services are running
docker-local up
# Wait for database to be ready (health check)
docker-local status
# Check .env has correct host (mysql, not localhost)
# DB_HOST=mysql
Could not resolve host: myapp.test
Diagnosis:
# Check if DNS is configured
ping myapp.test
# Check /etc/hosts
cat /etc/hosts | grep test
# Check dnsmasq (if used)
systemctl status dnsmasq # Linux
Fix:
# Option 1: Setup DNS (recommended)
sudo docker-local setup:dns
# Option 2: Add to /etc/hosts
sudo docker-local setup:hosts
# Option 3: Manual hosts entry
echo "127.0.0.1 myapp.test" | sudo tee -a /etc/hosts
SSL certificate problem: unable to get local issuer certificate
Diagnosis:
# Check SSL certificate status
docker-local ssl:status
# Check certificates exist
ls -la ~/.config/docker-local/certs/
# Check certificate validity
openssl x509 -in ~/.config/docker-local/certs/localhost.pem -noout -dates
# Test HTTPS
curl -vk https://localhost 2>&1 | head -20
Fix:
# Regenerate SSL certificates with mkcert
docker-local ssl:regenerate
# Or regenerate during init
docker-local init --certs
# Trust the certificate (browser)
# Import ~/.config/docker-local/certs/localhost.pem
# For mkcert users
mkcert -install
No projects found in ~/projects
Diagnosis:
# Check projects directory
ls -la ~/projects/
# Check config
docker-local config | grep projects_path
# Verify project structure
ls -la ~/projects/myapp/artisan
Fix:
# Ensure projects are in correct location
mv /path/to/myapp ~/projects/
# Or update config
# Edit ~/.config/docker-local/config.json
# Change projects_path
If all else fails, perform a complete reset:
# Stop everything
docker-local down
# Remove all Docker resources
docker system prune -af
docker volume prune -f
docker network prune -f
# Remove docker-local config (backup first)
mv ~/.config/docker-local ~/.config/docker-local.backup
# Reinitialize
docker-local init
# Restart
docker-local up
# Restore projects (they're safe in ~/projects)
docker-local list
# Shell into PHP container
docker-local shell
# Real-time Docker events
docker events
# Container resource usage
docker stats --no-stream
# Network inspection
docker network inspect laravel-dev
# Volume inspection
docker volume ls
docker volume inspect mysql_data
# Compose configuration check
docker compose -f ~/.config/docker-local/docker-compose.yml config
After troubleshooting, provide:
Issue: MySQL container not starting
Root Cause: Port 3306 already in use by local MySQL installation
Solution:
sudo systemctl stop mysql # Stop local MySQL
docker-local up # Start docker-local
Prevention:
- Use docker-local consistently
- Or change MySQL port in ~/.config/docker-local/config.json
Verification:
docker-local status # Should show mysql: Running
docker-local db:mysql # Should open MySQL CLI
$ARGUMENTS
Project scaffolding, deployment configuration, and CI/CD setup for Google ADK agents.
Set up tracing, logging, and monitoring for deployed ADK agents across Cloud Trace, BigQuery, and third-party platforms.
Enterprise Azure infrastructure architect generating Bicep or Terraform from workload descriptions.
Plan and configure production-ready Azure Kubernetes Service clusters with Day-0 and Day-1 best practices.
Raw mechanical interfaces fusing Swiss typographic print with military terminal aesthetics. Rigid grids, extreme type scale contrast, utilitarian color, analog degradation effects. For data-heavy dashboards, portfolios, or editorial sites that need to feel like declassified blueprints.
Web search, scraping, extraction, crawling, and monitoring via ScrapeGraph AI CLI.
Skill for working with Firebase Hosting (Classic). Use this when you want to deploy static web apps, Single Page Apps (SPAs), or simple microservices. Do NOT use for Firebase App Hosting.
Deploy and manage web apps with Firebase App Hosting. Use this skill when deploying Next.js/Angular apps with backends.
Deploy applications and websites to Vercel. Use when the user requests deployment actions like "deploy my app", "deploy and give me the link", "push this live", or "create a preview deployment".
Build SEO-optimized pages at scale using templates, data, and proven playbook patterns.
Design and build isolated, reusable Convex backend components with clear boundaries and app-facing wrappers.
Deploy and manage projects on Vercel using token-based authentication. Use when working with Vercel CLI using access tokens rather than interactive login — e.g. "deploy to vercel", "set up vercel", "add environment variables to vercel".
Opus.ai: Revolutionize Your Web Experience
Build a no-code AI app in minutes.
An IDE for code migration from legacy to modern frameworks through coding agents.
Automate CGI animation in live-action scenes
Branded artistic QR-code concepts
Launch a website in seconds with AI.
Streamline Your Coding Experience with AI Code Helper
Convert any screenshot or design to clean code.