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 agentmods add skills/agentproto/ts/agentproto-appsnpx skills add agentproto/ts --skill agentproto-appsgit clone --depth 1 https://github.com/agentproto/tsWhat 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 | $0.00178 | $0.02418 |
| Opus 5 | $0.00089 | $0.01209 |
| Sonnet 5 | $0.00036 | $0.00484 |
| Haiku 4.5 | $0.00018 | $0.00242 |
Grade A, and why
agentproto-apps 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 2d 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 — 169 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Agentproto apps (AIP-42)
A packaged app is a directory that ships one or more AIP-42 agents, the
AIP-15 workflows they run, and (optionally) a single-file web UI, emitted under
<dir>/.agentproto/ by defineApp().emit(dir). The daemon installs, applies,
runs, and persists them. This skill is the app plane on top of the base
agentproto skill (sessions/drivers live there).
Anatomy — what an app dir contains
<appDir>/
.agentproto/
APP.md # frontmatter: id, agents[], workflows[], ui{path,tools}
agents/<id>/AGENT.md # AIP-42 agent manifests
workflows/<id>/WORKFLOW.md # AIP-15 workflow manifests
ui/index.html # single-file dashboard (CSS+JS inline)
<data>… # app-scoped data (app_data_* writes here)
APP.md frontmatter (schema: app/v1, id, agents: [{id,path}],
workflows: [{id,path}], ui: {path, title, tools: [...]}). The ui.tools
array is an allowlist — app_tool_call REFUSES any tool id not in it, so
when the UI calls a new daemon tool (e.g. app_data_read), add it there.
Gotcha: this repo's root
.gitignoreignores.agentproto/by default (it targets agent-scoped scratch). For a first-class app bundle the.agentproto/dir IS the deliverable —git add -f <appDir>/.agentprototo commit it.
The app lifecycle (daemon verbs)
app_install {dir}— validates the app (loadAppHandle), cross-checks every WORKFLOW.mdtoolstep id against the daemon's registered tools (reports ALL missing at once), and checks the agent adapter resolves. Upserts byappId. Re-installing refreshes the record.app_apply {appId, scopeId?, dir?}— makes the app's capabilities available in a scope; installs first ifdirgiven and not already installed; validatesrequiresdeps are applied. Idempotent.app_run {appId, agents?, sequence?, prompt?, cwd?, model?, harness?, adapter?}— spawns one live session per agent under a freshappRunId.agentsruns them CONCURRENTLY.sequence: [id, ...]runs them ONE-AT-A-TIME in order (each awaited to a terminal session state before the next), for scout→tailor-style dependency chains — both under one appRunId. Passmodel/harness(oradapter) to select the runner for every spawn.app_status {appRunId}— returns the run's session descriptors + its workflow runs. As of the sequential-run work,app_statusLAZILY reconciles: if the stored run status isrunningbut every session is terminal, it reportsended(with a synthesizedendedAt) — so concurrent runs are also observed to conclude instead of hanging forever atrunning.app_stop {appRunId}— kills the run's sessions and marks it terminal.app_list— installed apps with a run-history summary (includesadapter/harness/modelwhen set on the run).app_uninstall/app_unapply/app_list_applied/app_catalog/app_skill_get/app_artifact_get— installation/uninstall and catalog.
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.
- 2d ago First seen · 169 lines · 178 tokens per session scan A 878539acf916
agentproto-apps is a skill published in the GitHub repository agentproto/ts (5 stars, last pushed 3d ago), licensed Apache-2.0. It adds 178 tokens to every session and 2,418 once invoked, about $0.0009 per session on Opus 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-08-31.
Other skills, from other repositories
pre-push
Runs the local equivalent of the CI merge gate before you push. Detects which areas (Python, TypeScript, docs) your changes touch, auto-fixes what it can, then runs only those checks. Use when the user asks to run pre-push checks, get push-ready, verify changes before pushing or opening a PR, "make sure CI will pass"…
docs-planner
Identify documentation gaps and prioritize the docs backlog. Use when planning a docs improvement sprint, after signals surface repeated friction, when new SDK features ship without docs, or for periodic health assessment. Also triggers on "plan docs work", "what docs need writing", "prioritize the backlog", "docs…
pr-feedback
Fetches PR review feedback and inline comments, categorizes them, and presents options to the user. Use when the user asks to get, read, address, or fix review comments on a pull request.
document-service
This skill should be used when the user asks to "analyze this codebase", "document this service", "generate technical docs", "I inherited this code", "help me understand this system", "create docs for this project", "what does this system look like", "onboard me to this codebase", "this codebase has no docs"…
hyperpod-cluster-debugger
Diagnose and remediate cluster-wide HyperPod (EKS or Slurm) problems — creation / deployment failures (CloudFormation, EFA health check, lifecycle scripts, capacity), EKS access, node replacement, CloudFormation nested-stack errors, post-maintenance rollback state, dangling nodes, autoscaler conflicts. Includes…
hyperpod-nccl
Diagnose NCCL failures and adjacent training-pod failures on HyperPod GPU clusters (EKS or Slurm) — training hangs, AllReduce / collective-op timeouts, EFA or libfabric errors, rendezvous failures, EFA TCP fallback, /dev/shm or memlock issues, NCCL version mismatch across pods, container OOM / exit-137 / OOMKilled…