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 ChronoAIProject/NyxID --skill aevatar-channels-deliverygit clone --depth 1 https://github.com/ChronoAIProject/NyxIDWrote 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/chronoaiproject/nyxid/aevatar-channels-delivery)<a href="https://agentmods.dev/skills/chronoaiproject/nyxid/aevatar-channels-delivery"><img src="https://agentmods.dev/badge/skills/chronoaiproject/nyxid/aevatar-channels-delivery/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/chronoaiproject/nyxid/aevatar-channels-delivery"><img src="https://agentmods.dev/badge/skills/chronoaiproject/nyxid/aevatar-channels-delivery.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 2 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Privilege Escalation · line 36 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Privilege Escalation · line 48 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
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.00117 | $0.02931 |
| Opus 5 | $0.00059 | $0.01465 |
| Sonnet 5 | $0.00023 | $0.00586 |
| Haiku 4.5 | $0.00012 | $0.00293 |
Grade A, and why
aevatar-channels-delivery 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 10d 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 — 175 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Capability tool details
code_execute — Execute Python, JavaScript, TypeScript, or Bash in a sandboxed environment. Returns stdout, stderr, and exit code. Use this for calculations, data processing, format conversion, testing code snippets, etc.
nyxid_service_inventory — In a channel sender turn, list that sender's exact connected-service
inventory with {}. This request-local channel exposure is list-only: do not hand-write a
user_service_id, and do not use nyxid_proxy as an inventory call.
nyxid_proxy — Make an admitted or raw request without exposing credentials. Keep its two
shapes distinct:
- Raw one-off call: require exact
service_id + slug + path;method,body, allowed non-sensitive headers, and response mode are optional. - Compiled workflow operation: keep copied
user_service_id + endpoint_idonly in the step-levelcapability.nyxid_operation. Runtimeargumentscontain only admittedpath_params,query,headers,body, andresponse_mode; never repeat service, slug, endpoint/operation identity, method, path template, digest, or schema.operation_idis not an authored selector field.
Critical: Proxy paths are relative to the service's base URL (shown in <connected-services>). Do NOT duplicate version prefixes already in the base URL. For NyxID-specific service paths, OAuth/device/API-key connection flows, error code semantics, and conventions, load use_skill(skill="nyxid") first instead of guessing.
GitHub PAT fallback: when api-github returns 401/403/404 on a path that could require private-repo access or read:project scope (e.g. private org repos, /projects/*, /orgs/*/projects), retry the same path against the api-github-pat slug before treating the failure as terminal. api-github-pat is the user's Personal Access Token slot exactly for cases where the default OAuth scopes are insufficient; trying it is not "wandering". Same rule for the parallel pattern on other providers when both an OAuth-backed slug and a -pat slug are listed in <connected-services>.
Channel Bots — Use nyxid_proxy with a Telegram/Discord bot's slug to send messages. For Telegram: POST /sendMessage with {"chat_id":"...","text":"..."}.
Credential honesty on token_expired/401 — nyxid_proxy and code_execute authenticate with
the CALLER credential of the current run or session, and different callers hold different
credential classes with wildly different lifetimes. Identify the typed credential source before
you interpret the failure. For a run, that means reading credentialSourceKind off the run or
automation record first — "it was scheduled" tells you nothing on its own:
| Caller | Credential class | Lifetime |
|---|---|---|
| Interactive session | Login access token | Hours (deployment-config JWT_ACCESS_TTL_SECS) |
Run with credentialSourceKind = scheduled_invocation_agent_key (Studio Team member automation, scheduled skill agents) |
Dedicated, restricted Agent Key. Raw material lives only in ISecretVault; the run borrows a durable credential reference and late-resolves it through the Vault at each use, fail-closed |
Policy-governed (a scheduled skill agent's default projected expiry is ~90 days) — not minutes |
Run with credentialSourceKind = nyxid_binding_exchange (generic /api/schedules with a NyxID binding source) |
Short-lived bearer exchanged from the binding at fire | 300 s fixed (see aevatar-automation → "Token classes" for citations) |
When a capability tool returns token_expired or 401:
- Do not name a lifetime you did not read from the actual JWT (
exp − iat), from the owning repo's source, or from the record'scredentialExpiresAtUtc. Numbers recalled from memory are the #1 source of wrong diagnoses here. - Check the blast radius: if ALL proxied calls fail after some instant, the caller credential died; if only one tool fails while sibling proxied calls succeed, suspect that tool's own credential path.
- Only for a
nyxid_binding_exchangerun istoken_expiredon steps starting ~5 minutes after fire expected platform behavior (fast-revocation design) — there, redesign the schedule (shorter run, front-load proxied steps, split the pipeline) instead of retrying blindly. - For a
scheduled_invocation_agent_keyrun, do NOT diagnose a fixed five-minute broker expiry merely because the call was scheduled. A failure landing five or six minutes after fire on this source is a coincidence, not evidence — that TTL belongs to a different credential class. Inspect instead: Agent Key expiry; Vault resolution and reference integrity; committed caller authority; the authorization fact; the exact service/node grants versus what the failing delivery step actually called;credentialGeneration(did a reauthorization replace it mid-flight?);authorizationStatusandlastAuthorizationErrorCode;revocationPending/nyxIdRevocationStatus/vaultRevocationStatus; then the downstream provider's own token. Note that credential health (active) and firing state (enabled) are independent dimensions.
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.
- 10d ago First seen · 175 lines · 117 tokens per session scan A b78394a4452f
aevatar-channels-delivery is a skill published in the GitHub repository ChronoAIProject/NyxID (36 stars, last pushed today), licensed Apache-2.0. It adds 117 tokens to every session and 2,931 once invoked, about $0.0006 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 skills, from other repositories
debug-optimize-lcp
Guides debugging and optimizing Largest Contentful Paint (LCP) using Chrome DevTools MCP tools. Use this skill whenever the user asks about LCP performance, slow page loads, Core Web Vitals optimization, or wants to understand why their page's main content takes too long to appear. Also use when the user mentions…
specflow-use
To connect Rosetta with Grid Dynamics SpecFlow MCP; only when SpecFlow is mentioned and the MCP is installed.
ue-mcp-epic-routing
Use when deciding between ue-mcp's native category actions and Epic's wrapped ToolsetRegistry tools (the epic actions, incl. the Blueprint graph DSL) for a task in Unreal. Pulls in when authoring Blueprint graph bodies, or any time both a native action and an epic action could do the job and you need to pick.
mcp-google-map-project
Project knowledge for developing and maintaining @cablate/mcp-google-map. Architecture, Google Maps API guide, GIS domain knowledge, and design decisions. Read this skill to onboard onto the project or make informed development decisions.
frontmcp-setup
Use when starting, scaffolding, or organizing a FrontMCP project. Covers creating a new project (CLI scaffold or manual) for Node, Vercel, and other targets; standalone versus Nx-monorepo layout, naming conventions, generators, and dependency rules; composing multiple @App classes, ESM packages, and remote MCP servers…
authoring-decorators
Use when the user wants to write a new prompt decorator - either a personal one for their repo or a contribution back to the upstream catalogue. Walks through the JSON schema, the extensions/ convention, how to verify a new decorator end-to-end through the hook, and how to diagnose failures using debug logging and…