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.
git clone --depth 1 https://github.com/damianvtran/local-operatorWrote 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/agents/damianvtran/local-operator/guide)<a href="https://agentmods.dev/agents/damianvtran/local-operator/guide"><img src="https://agentmods.dev/badge/agents/damianvtran/local-operator/guide/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/agents/damianvtran/local-operator/guide"><img src="https://agentmods.dev/badge/agents/damianvtran/local-operator/guide.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.00031 | $0.05829 |
| Opus 5.5 | $0.00012 | $0.02332 |
| Sonnet 5.5 | $0.00006 | $0.01166 |
| Haiku 4.5 | $0.00003 | $0.00583 |
Grade A, and why
agents 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 — 190 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Agent profiles and subagents
Local Operator has two different mechanisms. Do not treat them as interchangeable.
Persistent registered agents
A registered agent is a durable profile under the Local Operator configuration root. It can carry a provider/model, sampling settings, description, tags, categories, working directory, and persisted state.
List profiles only when a task may benefit from an existing specialist or the user asks about agents:
local-operator agents list
local-operator agents list --page 2 --perpage 10
Do not list the registry at every session start. Local Operator semantically compares the first task with descriptions, tags, and categories locally; when a profile may fit, it exposes this guide as a short hint without injecting the registry contents. Listing is the explicit action that reveals names and metadata.
Create a profile:
local-operator agents create research
Start an interactive session with it, or send it one headless task:
local-operator --agent research
local-operator exec "Review this evidence and return the supported findings" --agent research
--agent NAME creates a missing profile automatically, but explicit agents create is clearer when setup is intentional. exec --agent-id ID selects an exact existing profile and fails on a missing ID.
A registered profile is not automatically a live peer in the current process. Interact by starting a session or an exec run with that profile. Do not imply that a message was delivered to another live agent unless a tool actually reports delivery.
Ephemeral task subagents
Use the task tool when the current job contains an independent, well-bounded slice that can run concurrently or needs isolated context. A task subagent:
- inherits the parent model and reasoning effort, working directory, approval gate, and compaction budget.
effortpicks an operator-configured model TIER, not a reasoning level you choose: the tier names the child's model, and the operator may also give it a reasoning effort (subagents.models.hi: {model: provider/model, effort: xhigh}) that the child then runs at. Who may choose a tier is the OPERATOR's decision, not yours.subagents.model_choicedecides that, and its default isoperator: no tier is advertised to you and asking for one is refused — omit the field.model="inherit"can still bypass a role pin; exactmodel="provider/id"needs the model-choice arm. The way back is theirs to take (setsubagents.model_choice=modelin/settings, orlop config edit subagents.model_choice model); only then mayeffortname a tier they configured undersubagents.models, and thetaskschema then lists exactly those. (An operator who wants one role on a stronger model does not need to hand you the picker at all: a role's own profile carries itseffortpin, and the desktop profile editor writes it.) - receives only the prompt passed to
task; include every requirement and expected output - reports through the parent session's jobs/events — the launch RESULT names the
model each child will run on (
on <provider/model>, oron this session's model (<provider/model>)when it inherits), andwait/jobsrepeat it, so a delegated slice's model never has to be inferred - has its model decided when it starts or resumes. A pinned child (an
efforttier, or a role's own pin) re-resolves its tier from current config. An inheriting child takes the model of the nearest ancestor that decides one: a parent that is still running gives its current model; a parent that has finished gives its own pin if it had one, and otherwise the choice passes up to ITS parent; your session gives its current model. So a worker of a manager pinned to a cheaper tier resumes on that tier, not on your model, while a worker of an unpinned manager follows your own/modelswitch.hub op='resume'therefore does NOT bring a child back on the model it ran on before. The resume receipt names the model the same way the launch result does (on its parent's model (<provider/model>)when an ancestor decided it), and adds(its previous run was on <provider/model>)when it changed. If a nested child's lineage can no longer be read (an ancestor's record is gone, or was saved by an older version and shows no pin), it keeps its previous model; if it never recorded one, it runs on your session's model. The receipt says which, e.g.on <provider/model> (its parent's model could not be found; kept its previous model). Switching a parent's model — its own/model, or a switch sent from the phone orlop attach— does not change children already running; pause and resume one to move it. - may itself delegate if and only if its role allows the
tasktool. Amanagerkeepstaskat any depth, so a manager's child is a manager too; a role that does not delegate (areviewer, acoder, ascout) is never handed it and must do the work itself. A subagent launched with no role inherits its parent's allowance. When a child does delegate, its own children are listed in its page — in the TUI the roster re-scopes to them and you walk back up withp/Esc; the desktop UI walks the same tree with its back control and breadcrumbs. - is ephemeral; it does not become a registered profile or keep durable specialist state
- Check actual owner/job state before handing off. A
hub op='send'queue receipt is not running work: completed/paused/failed owners need explicithub op='resume'on their latest job ID and existing history, with the work message. Never infer execution from delivery or spawn a duplicate actor.
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 Changed 2863624fc535
- 3d ago Changed · +1 lines cd91a16116d2
- 4d ago Changed · +4 lines 97e7dbe0408a
- 5d ago Changed · +18 lines 4524824b7671
- 8d ago Changed c6eb4e47ec57
- 9d ago Changed · +2 lines d955f27229a6
- 13d ago Changed · +2 lines d5d757b4a67f
- 14d ago Changed · +12 lines · -3 tokens per session 858f8cfca1fd
- 15d ago Changed · +2 lines f21c4ef6ffd8
- 17d ago First seen · 149 lines · 34 tokens per session scan A 2adbda0eb8a2
agents is an agent published in the GitHub repository damianvtran/local-operator (218 stars, last pushed today), licensed MIT. It adds 31 tokens to every session and 5,829 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-08-30.
Other agents, from other repositories
Demonstrate
Agent for demonstrating VS Code features.
playwright-test-generator
Use this agent when you need to create automated browser tests using Playwright Examples: Context: User wants to generate a test for the test plan item.
.NET-Notebook-Migration-Agent
Expert .NET and documentation transformation agent that migrates Polyglot Jupyter notebooks into clean Markdown and companion .NET sample code.
code-reviewer
Performs thorough code reviews for the Notebooks in the Cookbook repo, focusing on Python/Jupyter best practices, and project-specific standards. Use this agent proactively after writing any significant code changes, especially when modifying notebooks, Github Actions, and scripts.
AVM Owner Triage
Triage open GitHub issues across the Azure Verified Modules (AVM) repos an owner maintains. Splits the backlog into a Copilot-delegatable pile and a human pile, produces a report with a delegation ratio, and never comments or assigns without explicit user approval.
Ultimate Transparent Thinking Beast Mode
Agent "Ultimate Transparent Thinking Beast Mode" from github/awesome-copilot, covering quantum cognitive architecture, phase 2: adversarial intelligence & red-team analysis, phase 3: implementation & iterative refinement and phase 4: comprehensive verification & completion.