ワンクリックで
app-deployer
Deploy and manage user applications as managed systemd services
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Deploy and manage user applications as managed systemd services
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Generate 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.
| 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 configuration