Agent App Manager
SkillAI & modelsLets your agent list, launch, stop, restart, and check its local Agent App projects without touching their code.
Available today. Use it from your connected AI after setup.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the Agent App Manager skill
About this skill
Manage and operate Agent App projects, list, inspect, launch, stop, restart, use their data/ops, and diagnose issues. No code changes.
What this skill tells your AI
The instructions your AI receives, as published by craftos-dev/craftbot in skills/agent-app-manager/SKILL.md and read by ahel’s review.
Operate and manage existing Agent Apps. Never edit code here — if a request needs code changes, that's agent-app-modify.
Inventory
- Registry:
agent_file_system/workspace/agent_app_projects.json— id, name, status, port, path per project. - Per project:
manifest.json(port, authMode, pipeline),AGENT_APP.md(what it does),operations.json(its verbs).
Lifecycle
agent_app_notify_ready(project_id)— validate + launch (or relaunch).agent_app_restart(project_id)— stop then full relaunch.- A running app serves everything on ONE port:
http://localhost:<port>— the UI, the PB REST API (/api/collections/...), declared ops, and discovery atGET /api/_ops.
Operating an app (using it on the user's behalf)
Use the agent-app CLI via run_shell. ALWAYS use the ABSOLUTE CLI path —
the shell's cwd is NOT the repo root, so relative paths fail. The CLI is
<craftbot-root>/agent-app/tools/src/cli.ts (craftbot-root = parent of
agent_file_system; in a Agent App session the [INTERACTING WITH AGENT APP]
note contains the exact ready-to-run commands). <CLI> and <project> below
are absolute paths.
- Discover what the app can do:
node <CLI> ops <project> - Declared op exists → run it:
node <CLI> run <project> <op-name> --param valueOps markedDESTRUCTIVE→ confirm with the user first. - No op → generic data access:
node <CLI> data <project> <collection> list --filter '...' --sort '-created' --limit 20node <CLI> data <project> <collection> create --json '{"field":"value"}'node <CLI> data <project> <collection> update <id> --json '{...}'/delete <id>Read freely; write only what the app's own UI offers. - Needs new capability → say so and offer a modification instead of hacking around it.
Fallback only when the shell is unavailable: the agent_app_http action
speaks to the same API.
Diagnosing
- Status
error: read the project'serrorfield in the registry, thenlogs/pocketbase.log(server/migrations) andlogs/frontend_console.log(frontend). Report findings honestly; hand fixes to agent-app-modify. - Never start
pocketbase/npmprocesses by hand; never touchpb_data/or.superuser.
Signals
- GitHub stars
- 386
- Forks
- 45
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
agent-app-manager- Source
- github.com/craftos-dev/craftbot