skills/morning-briefing/SKILL.md
Generate a concise daily infrastructure briefing. Covers: service health, resource usage, security events, overnight incidents, and cost tracking. Designed for Telegram/chat delivery.
npx skillsauth add bolivian-peru/os-moda morning-briefingInstall 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.
Generate a daily server briefing. Run this as part of the morning heartbeat.
Gather data, then compose a message in this format:
Good morning. Here's your infrastructure report:
[SERVICE STATUS]
List each critical service with a status emoji:
green = running and healthy
yellow = running but degraded
red = down or failing
[RESOURCE USAGE]
CPU average overnight, current memory, disk usage per mount.
Flag anything above threshold.
[OVERNIGHT EVENTS]
Summarize what happened while the user was asleep.
Include: auto-remediations, config changes, unusual activity.
Reference audit ledger entries.
[SECURITY]
Failed SSH attempts (count + notable IPs).
Any firewall blocks.
Port scan detection.
New or unexpected processes.
[COST]
Estimated daily server cost.
API call costs if tracked.
[SUMMARY]
One-line assessment: "All quiet" or "One incident overnight, resolved."
Run these in sequence:
System health overview
system_health()
Critical services check
service_status({ service: "agentd" })
service_status({ service: "osmoda-gateway" })
service_status({ service: "sshd" })
service_status({ service: "nginx" }) -- if configured
Overnight errors (last 12 hours)
journal_logs({ priority: "err", since: "12 hours ago", lines: 50 })
Security events
journal_logs({ unit: "sshd", since: "12 hours ago", lines: 30 })
shell_exec({ command: "journalctl -u sshd --since '12 hours ago' | grep 'Failed password\\|Invalid user' | wc -l" })
Audit log overnight activity
event_log({ limit: 20 })
Memory — overnight context
memory_recall({ query: "overnight incidents errors fixes", timeframe: "24h" })
teachd patterns — check for overnight trends and anomalies detected between conversations
teach_patterns({ min_confidence: 0.5 })
teach_context({ context: "overnight incidents failures resource trends" })
Include any detected patterns in the briefing under [OVERNIGHT EVENTS].
NixOS generation
shell_exec({ command: "nixos-rebuild list-generations | tail -5" })
Good morning. Infrastructure report for Feb 20:
Services: agentd, osmoda-gateway, sshd, nginx — all running
Resources: CPU avg 11% overnight | RAM 4.1/7.6 GB | Disk 38%
Overnight: Quiet night. No incidents.
- PostgreSQL connections peaked at 72/100 at 02:41 (normal range)
- 1 NixOS garbage collection freed 2.3 GB (auto, audit #51)
Security: 7 failed SSH attempts from 3 IPs
- 185.220.101.33 (Tor exit, 4 attempts) — already blocked
- 2 other IPs, single attempts each — noise
Cost: ~$0.33/day (Hetzner CX22)
All systems nominal. Have a good day.
devops
Multi-perspective risk analysis using structured persona debate before deploying changes
development
Build software via spec-driven development (github/spec-kit). Whenever the user asks for a feature larger than a one-line tweak, scaffold a spec-kit project, capture WHAT + WHY, declare tech stack, break into tasks, then iterate the implementation until tests pass.
development
Manage NixOS packages declaratively. Search, install (via configuration.nix rebuild), remove, rollback, and list generations. Understands the NixOS declarative model.
data-ai
Monitor system health: CPU, memory, disk, network, processes, services, and logs. Present data naturally. Correlate issues across subsystems. Alert on thresholds. Diagnose root causes.