com um clique
app-deployer
Deploy and manage user applications as managed systemd services
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
Deploy and manage user applications as managed systemd services
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
| name | app-deployer |
| description | Deploy and manage user applications as managed systemd services |
| activation | auto |
| tools | ["app_deploy","app_list","app_logs","app_stop","app_restart","app_remove","system_discover","journal_logs","memory_store"] |
Deploy and manage user applications (Node.js apps, Python scripts, Go binaries, Docker-less containers, etc.) as first-class managed processes on the OS.
app_deploy with appropriate parameters. Default isolation uses DynamicUser=yes (ephemeral UID, no root).app_list to confirm the app is running. Check app_logs for startup output.memory_store to remember what was deployed and why.User: "Deploy my Node.js API at /home/user/api"
1. app_deploy({
name: "user-api",
command: "/usr/bin/node",
args: ["server.js"],
working_dir: "/home/user/api",
env: { NODE_ENV: "production", PORT: "3000" },
port: 3000,
memory_max: "256M",
user: "user"
})
2. app_list() → confirm running, check PID
3. app_logs({ name: "user-api", lines: 20 }) → verify startup
4. memory_store({ summary: "Deployed user-api Node.js app", ... })
app_list shows all apps with live systemd state, PID, memory, CPU usageapp_logs pulls from journald — supports --since, --priority, line limitsapp_restart — if the unit is active, calls systemctl restart. If inactive, re-deploys from registryapp_stop — stops the unit, marks as stopped in registry (preserved for restart)app_remove — stops and permanently deletes from registryApps run under systemd cgroups. Available limits:
| Parameter | Example | Effect |
|---|---|---|
memory_max | "256M", "1G" | Hard memory cap via MemoryMax= |
cpu_quota | "50%", "200%" | CPU time limit (200% = 2 cores) |
DynamicUser=yes): App runs as an ephemeral system user. No root, no access to other users' files. Best for self-contained binaries and services.user: "username"): App runs as the specified user. Use when the app needs to read/write files owned by that user (e.g., /home/user/data).Apps are registered in /var/lib/osmoda/apps/registry.json. The osmoda-app-restore service re-creates all running apps as transient systemd units on boot. Apps marked as stopped are not restored.
memory_max for production apps to prevent OOM issuesport parameter for discovery — system_discover will find the appuser when the app needs filesystem access beyond its own binaryapp_logs after deploy to catch startup errors immediatelyapp_restart (not stop + deploy) to preserve the same configurationGenerate a concise daily infrastructure briefing. Covers: service health, resource usage, security events, overnight incidents, and cost tracking. Designed for Telegram/chat delivery.
Multi-perspective risk analysis using structured persona debate before deploying changes
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.
Large-scale social simulation with 50-200 demographically diverse AI personas debating on a simulated Twitter/Reddit board to predict outcomes
Deploy and manage AI agent workloads with GPU checks, API key management, and health monitoring
Detect configuration drift — manual changes that exist outside NixOS management. Offer to bring imperative changes into declarative config.