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/ilert/ilert-cli/setup-environment-profilenpx skills add iLert/ilert-cli --skill setup-environment-profilegit clone --depth 1 https://github.com/iLert/ilert-cliWhat 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.00028 | $0.01761 |
| Opus 5 | $0.00014 | $0.00881 |
| Sonnet 5 | $0.00006 | $0.00352 |
| Haiku 4.5 | $0.00003 | $0.00176 |
Grade A, and why
setup-environment-profile 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 — 162 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Setting up a profile for another ilert environment
Use this when the CLI has to talk to something other than ilert's production API — a staging or preview instance, or a self-hosted deployment.
Nothing about such an environment is compiled into the CLI. The endpoint and the OAuth application that goes with it live in the operator's own config, so setting one up is a configuration task, not a code change. Never add a hostname or client id to this repository — not to source, not to a test, not to this document.
What a profile is
A profile is a named bundle of where and as whom, stored in config.json
(ilert config show prints the path):
| Setting | Flag | Environment variable |
|---|---|---|
base_url |
--base-url |
ILERT_BASE_URL |
oauth_client_id |
--oauth-client-id |
ILERT_OAUTH_CLIENT_ID |
team_context |
--team-context |
ILERT_TEAM_CONTEXT |
Each resolves flag → environment → profile → built-in default, and the built-in
default is production. Credentials never go in that file; they go to the OS
keyring under the profile's name. The cached API spec is also per environment, so
ilert --help under one profile lists that environment's commands and cannot be
polluted by another's.
--profile NAME (or ILERT_PROFILE) selects one and works anywhere on the
command line. Switching environments is what --profile is for. A credential
is bound to the endpoint that issued it, so --base-url on an ordinary command
does not borrow another profile's login — it is refused (see below). --base-url
belongs on auth login, where a credential for that environment is obtained.
What you need before you start
Two values, both specific to the target environment:
- The API base URL — the API host, not the web app.
- The OAuth client id of the CLI application registered on that environment. A client id is only valid at the endpoint it was registered with; production's will be rejected.
Ask the user for both. Do not guess a hostname from a pattern, do not reuse a
value from another environment, and do not go looking for them in the codebase —
they are deliberately not there. They may already be exported as ILERT_BASE_URL
and ILERT_OAUTH_CLIENT_ID, which is worth checking first.
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 · 162 lines · 28 tokens per session scan A 996063b5fa63
setup-environment-profile is a skill published in the GitHub repository iLert/ilert-cli (2 stars, last pushed 12d ago), licensed Apache-2.0. It adds 28 tokens to every session and 1,761 once invoked, about $0.0001 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
investigate
The entry point for any software problem -- deployment failures, infrastructure issues, performance degradation, errors, or anything going wrong. Use when the user wants to understand what's happening, check on issues, check on the status of an investigation, ask about their systems, query Antimetal's AI for context…
fix
Fix a software issue by applying Antimetal's remediation to your codebase. Use when the user wants to fix, resolve, patch, remediate, or apply changes for any issue—or when they say things like "how do I fix this", "what should I change", "apply the fix", "let's resolve it", or when investigation is done and the next…
antimetal-mcp-setup
Ensures the Antimetal MCP server is configured and ready to use. Run this before attempting to call any Antimetal MCP tools—if the API key is missing, tools will fail silently.
opencli-sitemap-author
Use when creating or maintaining OpenCLI site sitemaps: agent-facing navigation, page-state, action, workflow, API-reference, pitfall, and fallback knowledge for a website. Use after browser exploration discovers durable site context, when a sitemap is stale, or when promoting local site knowledge into the repo.
golden-rss
Use when testing the rss golden build.
github-security-fix
Remediate GitHub security / Dependabot / CodeQL / code-quality alerts via fixgithubsecurityalert.