Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add CraftOS-dev/CraftBot --skill agent-app-managergit clone --depth 1 https://github.com/CraftOS-dev/CraftBotWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/craftos-dev/craftbot/agent-app-manager)<a href="https://agentmods.dev/skills/craftos-dev/craftbot/agent-app-manager"><img src="https://agentmods.dev/badge/skills/craftos-dev/craftbot/agent-app-manager/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/craftos-dev/craftbot/agent-app-manager"><img src="https://agentmods.dev/badge/skills/craftos-dev/craftbot/agent-app-manager.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00035 | $0.00657 |
| Opus 5.5 | $0.00014 | $0.00263 |
| Sonnet 5.5 | $0.00007 | $0.00131 |
| Haiku 4.5 | $0.00003 | $0.00066 |
Grade A, and why
agent-app-manager scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 23d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 62 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Agent App Manager
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.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 23d ago First seen · 62 lines · 35 tokens per session scan A dece3118e8d4
agent-app-manager is a skill published in the GitHub repository CraftOS-dev/CraftBot (395 stars, last pushed today), licensed MIT. It adds 35 tokens to every session and 657 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-24.
Other skills, from other repositories
development-estimation
Use when estimating time, effort, cost, or complexity for features, projects, refactors, and bug backlogs. Produces defensible estimates via triage, decomposition, risk handling, and confidence intervals, with clear assumptions and validation steps.
systemic-issue-triage
Trigger: new issue, bug report, triage, backlog, issue flood, community report, root cause, dead-end, blocked user. Attack issues by root class, never one-by-one; fixes must shrink the system, not grow it.
triage-issue-reports
Triage Slack issue reports with one thread-only verdict, evidence review, cause-aware routing, tracker dedupe, and fail-closed ticket creation. Use only from the configured Benny triage automation.
browse-flows
Browse Power Automate environments and flows interactively. Use when the user wants to browse, list, or explore their flows and environments.
audit-swan
Checks whether a Swan workspace is structurally healthy. Use for configuration audits that surface missing knowledge, disconnected integrations, exhausted senders, broken triggers, sparse CRM data, and credit or subscription issues.
reframe-voice
Write, rewrite, or review content in the evidence-led reframe voice style. Use when the user explicitly asks to write in "reframe voice" or "reframe style". Do NOT use for general writing tasks.