Bundled agent skill
Developer Preview
For agents, the skill is one URL:
https://docs.navalabs.ai/skills/nava/SKILL.md
This hand-maintained skill tells an agent which operation to call, which parameters and credentials it needs, and which responses can be mistaken for success. These pages present the same information for human readers.
An agent needs it because protocol commands do not list their options and because the operations that reach a venue have safety rules no schema can express.
Set up the hosted Nava agent skill in this project. Inspect the agent runtime, existing skill configuration, and supported skill locations first. If the runtime can load a skill from a URL, point it at https://docs.navalabs.ai/skills/nava/SKILL.md. Otherwise, download SKILL.md and all five routed references into the runtime's skill directory, preserving the skills/nava/references layout. Do not rewrite the hosted skill or copy credentials into it. Configure the agent to read SKILL.md first, load the protocol reference plus guardian.md before a write, require explicit approval for exact material parameters, decide from the returned payload rather than CLI exit code or MCP isError alone, and fail closed without a terminal approving verdict. Do not perform a real write during validation. Verify that the entrypoint and every routed reference resolve, run the relevant checks, and report changed files, checks run, manual setup, and unsupported runtime behavior.What is in it
SKILL.md plus the five references it routes to:
skills/nava/
SKILL.md
references/
base.md
guardian.md
hyperliquid.md
uniswap.md
sdk-privy.md
SKILL.md is the entrypoint and is deliberately short. It carries only what
applies to every request:
- how to run the CLI with nothing installed, and which package to install;
- the four base operations under both their CLI and MCP spellings;
- the four authentication states and what each one permits;
- the universal rules: keep credentials out of prompts and logs, get explicit authorization for material parameters before a write, treat the runtime verdict as authoritative, and keep verification and execution distinct;
- the cross-surface traps that produce a plausible wrong answer rather than an error;
- a routing table that says which reference to read for which request.
Progressive disclosure
The references are not loaded up front. SKILL.md routes to them, and the agent
reads only what the request needs:
| Request | Reference |
|---|---|
| Policy verification, agent or policy management, verdict inspection, explaining a rejection | references/guardian.md |
| Submitting, polling, or re-reading a verification directly (the four base operations) | references/base.md |
| Hyperliquid perps | references/hyperliquid.md |
| Uniswap V3 and V4 | references/uniswap.md |
| Privy device-auth wallet workflow | references/sdk-privy.md |
For a protocol write, the routing rule is to read both the protocol reference
and guardian.md, never the protocol reference alone.
Each protocol reference holds the operation table, one option table per
operation, the required environment, and the safety boundary for that venue.
That keeps SKILL.md small enough to load on every request while the parameter
detail stays one hop away.
Give it to your agent
The skill is hosted on this site. An agent that can fetch URLs needs only the entrypoint; the references are relative links from it and load on demand:
https://docs.navalabs.ai/skills/nava/SKILL.md
To install it on disk instead, into .claude/skills or wherever your agent
reads skills from:
base=https://docs.navalabs.ai/skills/nava
mkdir -p .claude/skills/nava/references
curl -fsSL "$base/SKILL.md" -o .claude/skills/nava/SKILL.md
for ref in base guardian hyperliquid uniswap sdk-privy; do
curl -fsSL "$base/references/$ref.md" -o ".claude/skills/nava/references/$ref.md"
doneIt is hand-maintained, not generated
There is no generator. The references are prose.
hyperliquid.md and uniswap.md are held to the code by drift tests in the SDK
repository that derive each operation's options and requiredness from the CLI
parser and the tool schemas, so a rename or a changed requirement turns those
tests red rather than leaving the reference quietly wrong. The operation names
in every reference are additionally pinned by the SDK's shipping-interface
contract test, which records them from a real MCP server run.
base.md, guardian.md, and sdk-privy.md have no drift test. Their prose
is maintained by review alone. Treat a change in that area as unguarded, and
verify it against the source rather than against a green suite.
Two consequences for anyone extending an adapter:
- Update the reference in the same commit as the descriptor change.
- The skill references are the source of truth for operations. The pages in this section are derived from them; where they ever disagree, the shipped reference and the SDK contract test win.