skills/cali-docker-server-dashboard/SKILL.md
[Cali] - INTERACTIVE SKILL: Discover servers from ~/.ssh/config, auto-detect hosts (filtering out non-server entries like github.com), prompt user to pick one via question tool, then SSH into the chosen server and render a real-time ASCII dashboard with Docker containers, images, volumes, routes, cron, orphaned resources, and cleanup suggestions. REQUIRES question tool, SSH config parsing, and shell execution.
npx skillsauth add renatocaliari/agent-sync-public-skills cali-docker-server-dashboardInstall 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.
When this skill is loaded, you MUST follow these steps in order without asking the user what to do next:
~/.ssh/configHost entryHostName contains github.com or User is gitUse the question tool to let the user pick a server:
question({
questions: [{
header: "Selecionar Servidor",
question: "Qual servidor você quer monitorar?",
options: [
// Populate dynamically from ~/.ssh/config
// Example:
{ label: "server.renatocaliari.com (100.120.175.47)", description: "Servidor Ubuntu com Docker" },
]
// "Type your own answer" comes automatically
}]
})
DEPLOY_SERVER=<user-selected-server> bash /Users/cali/.agents/skills/cali-docker-server-dashboard/references/dashboard.sh
[email protected] ~/.agents/skills/cali-docker-server-dashboard/references/dashboard.sh
| Section | Information | |---------|-------------| | Server Info | Hostname, OS, Docker version, uptime | | Disk Usage | Total, used, available with progress bar | | Memory Usage | Total, used, available with progress bar | | Containers | Name, image, status (🟢/🟡/🔴), ports | | Rotas (Caddy) | Serviço, tipo (path/porta), URL completa com Tailscale | | Images | Repository, tag, size | | Volumes | Name, linked container, mount path | | Network | Container IPs and network names | | Cron Jobs | Scheduled tasks with human-readable schedule | | Orphaned Resources | Stopped containers, unused images, dangling volumes | | Cleanup Suggestions | Commands to remove orphaned resources |
~/.ssh/config, filters non-serverstailscale status --jsontools
Auto-initialize structured documentation for any project using lat.md (knowledge graph of markdown files with [[wiki links]], // @lat: code refs, and semantic search). Detects cali-product-workflow artifacts (spec-product.md, spec-tech.md, critiques) and uses them as seed material. Falls back to extracting business rules, architecture, and design decisions directly from the codebase. Use when a project lacks structured documentation or when lat.md/ is missing. After seeding, lat.md extension hooks keep documentation alive automatically.
testing
[Cali] Server security audit and hardening for private servers behind Tailscale. Use when: auditing server security, hardening SSH/firewall/Docker, checking for vulnerabilities, setting up fail2ban, reviewing port exposure, or responding to security alerts. Covers 6 layers: CloudFlare, UFW, Tailscale, SSH, Docker, Application. Triggers: "server security", "security audit", "harden server", "SSH hardening", "firewall rules", "UFW config", "fail2ban", "port security", "Docker security", "vulnerability check", "security review".
tools
Run supply chain security scans before installing packages or before releases. Triggers when: user installs a package (npm, pip, go get, brew), user asks to 'scan dependencies', 'check vulnerabilities', 'supply chain', 'security audit', 'run trivy', 'run socket', or before any release/deployment. Also triggers on mentions of: socket.dev, trivy, OSV-scanner, dotenvx, CVE, dependency audit. Covers all four tools with concrete commands.
tools
Create GitHub releases following project conventions. Triggers when: user says 'release', 'create release', 'push release', 'deploy to main', 'merge to main', user merges a PR to main, or when git push to main is detected. Also triggers on mentions of: gh release, semver, version bump, changelog, release-please. Covers: config-driven (read .release.yml and execute) and fallback (gh CLI) release flows, versioning rules, tag management, and the mandatory release-on-merge convention.