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-workflow-authoringgit 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-workflow-authoring)<a href="https://agentmods.dev/skills/chronoaiproject/nyxid/aevatar-workflow-authoring"><img src="https://agentmods.dev/badge/skills/chronoaiproject/nyxid/aevatar-workflow-authoring/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-workflow-authoring"><img src="https://agentmods.dev/badge/skills/chronoaiproject/nyxid/aevatar-workflow-authoring.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00102 | $0.09062 |
| Opus 5.5 | $0.00041 | $0.03625 |
| Sonnet 5.5 | $0.00020 | $0.01812 |
| Haiku 4.5 | $0.00010 | $0.00906 |
Grade A, and why
aevatar-workflow-authoring 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 2mo 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 — 465 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Authoring an executable aevatar workflow
You turn a user's natural-language request into a valid, test-run, reusable aevatar workflow. A workflow is a YAML document of roles + steps that the engine executes; once validated you persist it as a skill so the user can re-run it and watch it in the observatory.
The core DSL, engine rules, and tool protocol are here. Load the linked REST or worked-example reference only when that surface is relevant. Follow the protocol in order.
Two execution surfaces — know which one you are before step 3. Steps 3 / 5 / 6 below call the server-side agent tools
nyxid_services,aevatar_start_workflow, andornn_publish_skill. Those exist only when you are the model running inside an aevatar session with the nyxid MCP connected. If instead you are an external client holding only a NyxID bearer token — driving the aevatar backend through the NyxID broker (nyxid proxy request aevatar), the same identity the sibling skills (aevatar-team-builder,aevatar-service-publisher,aevatar-scheduler) assume — those three tools are not callable. Read references/client-rest.md for the client dry-run, publication, and invocation path; the core DSL and engine rules below apply to both surfaces.
Protocol (follow in order)
- Confirm the intent is authoring. The user wants a new runnable workflow. If they want to run something that already exists, stop and search for it instead.
- Clarify just enough. Pin down: the trigger/input, how that ingress authenticates its source, the ordered steps, the desired output, and which external services (if any) are involved. Ask only what you cannot reasonably infer; do not over-interrogate.
- Select the exact external capability (only if external calls are needed). Prefer a published operation: call
list_external_workflow_capabilities, copy its exactuser_service_id + endpoint_idselector, then inspect readiness forinteractiveordurable. The YAML/proto selector has nooperation_idfield. Use typedcapability.nyxid_requestonly when no published operation represents a required HTTP request; it needs an exact UserService selected from authoritative/api/v1/keys, a typed method/path/body contract, and bind-time authenticated confirmation/grant. One step carries exactly one ofnyxid_operationornyxid_request, never both./api/v1/user-servicesis only a routing projection and is never execution authority. - Author the YAML. Apply the DSL below and obey every rule in Engine rules (must obey). Prefer the reliable-core primitives; use advanced primitives only when the task truly needs them.
- Preview before execution. Use the explicit-request preview or draft-run readiness surface. Confirm unique call sites, read/write classification, approval requirements, exact workflow/revision identity, and every blocker. Preview/readiness proves admission readiness only; it does not prove runtime credential propagation or downstream authorization.
- Run once when authorized, then observe the same run. Never use another mutation as a status check. For a real acceptance run, require terminal completion,
lastSuccess=true, non-empty required step outputs, and non-empty final output. On failure, read run detail and audit, find the first failed step, and diagnose before any rerun. Do not blindly retry a mutation or a failed workflow. If the original definition is blocked by a stale or inaccessible external resource, a separately authorized feature-equivalent probe may substitute an accessible sanitized resource while preserving the relevant step, selector, transform, file, and fan-out shapes. Its success proves only those platform features; the original workflow remains blocked or unproven. Never add sends, approvals, external mutations, or schedules merely to broaden a probe. - Persist as a reusable workflow. After structural validation and any required execution proof, call
ornn_publish_skillwith the final workflow inworkflow_yamls(see Persisting). This creates a private skill in the user's account containing the workflow. - Report evidence honestly. Separate preview-ready, accepted, completed, business-verified, blocked by policy, and failed. Do not call
acceptedor an opened SSE stream a successful run. - Iterate on request. To change an existing workflow: load it with
use_skill, edit the YAML, repeat preview and validation, and publish a new version.
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 2mo ago First seen · 465 lines · 102 tokens per session scan A 1ece4ca3f85e
aevatar-workflow-authoring is a skill published in the GitHub repository ChronoAIProject/NyxID (41 stars, last pushed yesterday), licensed Apache-2.0. It adds 102 tokens to every session and 9,062 once invoked, about $0.0004 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.
aevatar-workflow-authoring compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| aevatar-workflow-authoringChronoAIProject/NyxID | Skill | 41 | yesterday | Apache-2.0 | A | 102 | Claude Code |
| opik-diagnosecomet-ml/opik-mcp | Skill | 225 | 9d ago | Apache-2.0 | A | 187 | Claude Code |
| ue-mcp-epic-routingdb-lyon/ue-mcp | Skill | 476 | yesterday | MIT | A | 81 | Claude Code, Codex |
| qa-knowledgegriddynamics/rosetta | Skill | 370 | yesterday | Apache-2.0 | A | 32 | Claude Code, Codex |
| apitapn1byn1kt/apitap | Skill | 131 | 17d ago | Apache-2.0 | A | 0 | Claude Code, Codex |
| frontmcp-setupagentfront/frontmcp | Skill | 148 | yesterday | Apache-2.0 | A | 176 | Claude Code, Codex |
| x-use-reviewihuzaifashoukat/x-use | Skill | 181 | 4d ago | MIT | A | 56 | Claude Code |