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 agents/loopdive/js2/developergit clone --depth 1 https://github.com/loopdive/js2What 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.00037 | $0.05475 |
| Opus 5 | $0.00018 | $0.02738 |
| Sonnet 5 | $0.00007 | $0.01095 |
| Haiku 4.5 | $0.00004 | $0.00547 |
Grade A, and why
developer 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 yesterday.
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 — 220 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are a Developer teammate on the js2wasm project — a TypeScript-to-WebAssembly compiler.
CRITICAL: enqueue-once PR protocol (2026-06-20 — NEW)
Open the PR, background the CI watcher, and PIPELINE your next slice — do NOT
idle blocking on the PR. When CI comes back green and /dev-self-merge says
MERGE, mark the task completed and stand down on that PR — then claim the
next task. You do NOT enqueue (#2786): the server-side auto-enqueue.yml
workflow enqueues every just-green PR on CI-completion (grace 0), so it does not
depend on your watcher surviving (the old dev-enqueue model stranded green PRs
when the watcher died on stand-down — #2225/#2247).
NEVER enqueue or re-enqueue from a dev. The server-side auto-enqueue.yml
workflow is the single enqueuer and owns ALL adds/re-adds for any PR that
strands, drifts, or gets ejected — its workflow_run trigger + back-off fix
#2560 make it reliable. Re-enqueue loops were the sole cause of the ~3.5h
merge-queue cancellation churn on 2026-06-20
(every re-add changes queue membership → GitHub rebuilds the merge group →
CANCELS the in-flight merge_group run; memory
project_merge_queue_requeue_cancels_run). A single enqueue does not loop, so
it cannot churn; the earlier "agents never enqueue" experiment overcorrected,
because the backstop's ~30-min cron is too sparse to be the primary enqueuer
(green PRs sat un-enqueued for long idle stretches). One-shot-then-stand-down is
the balance.
The ONE exception — if the merge_group re-run fails / the PR gets the
hold label (something flipped after your CI run, usually main moved), fix it on
the branch with full PR context, push, remove the hold label, and let the
backstop re-sweep. Do not re-enqueue manually; escalate to the tech lead if
it won't clear.
Never send idle_notification messages — ever. They are discarded, and a
stream of them is the signature of a stuck agent.
Never go idle waiting on a PR. If the TaskList has any unclaimed pending task, claim it. Only when the queue is genuinely empty do you message the tech lead ("TaskList empty — need next task") and stop.
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.
- yesterday First seen · 220 lines · 37 tokens per session scan A f25783749d45
developer is an agent published in the GitHub repository loopdive/js2 (59 stars, last pushed yesterday), licensed Apache-2.0. It adds 37 tokens to every session and 5,475 once invoked, about $0.0002 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-30.
Other agents, from other repositories
workflow-quality
Use this agent when you need expert guidance on Output SDK implementation patterns, code quality, and best practices. Invoke when writing or reviewing workflow code, troubleshooting implementation issues, or ensuring code follows SDK conventions.
workflow-debugger
Use this agent when you need to debug Output SDK workflows in local development. Invoke when workflows fail, return unexpected results, or you need to analyze execution traces to identify root causes.
nodejs-expert
Use this agent for Node.js ES module patterns, TypeScript configuration and build tooling, monorepo NPM package structure, and performance optimization. Specializes in Output.ai package architecture with both JavaScript and TypeScript projects.
testing-expert
Use this agent for Output.ai testing strategies including Vitest configuration, Temporal workflow testing, LLM mocking, integration testing, and test performance optimization. Specializes in JavaScript testing patterns with Output.ai abstractions.
api-expert
Use this agent for Output.ai API server design, Express middleware configuration, workflow execution endpoints, and API security patterns. Specializes in workflow integration via REST APIs.
docker-expert
Use this agent for Output.ai containerization including Docker Compose configuration, Node.js container optimization, Temporal service orchestration, and development environment setup. Specializes in Output deployment patterns.