Agent skill · Audited from source
axi
skill · kunchenguid/axiMIT licenceAudited 20 Oct 2026 · source cc5f7d782eee
Is it safe? Yes — SAFE, grade B (89/100). We read this skill's source at commit cc5f7d782eee and found no filesystem, network or shell access and no hard-coded secrets. What it does: Agent eXperience Interface (AXI) — ergonomic standards for building CLI tools that agents use via shell execution. Use when building, modifying, or reviewing any agent-facing CLI.
Cite
Cite this page
ModelsAtlas. “axi (kunchenguid/axi)”. Retrieved 20 Oct 2026. https://modelsatlas.com/skills/kunchenguid/axi
Trust audit
Audit 0.4.1 · source read 20 Oct 2026
SAFE means nothing in the source contradicts what the skill says it does. Grade B is shared by 13,985 of 14,816 audited skills.
What the source does
- FilesystemNone observedNo reads or writes in the source
- NetworkNone observedNo outbound calls in the source
- ShellNone observedNo commands run in the source
- DependenciesPinnedNothing floats
- SecretsNone foundNo keys in source
Five audit layers
| Layer | What we check | Result | Findings |
|---|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | WARN | 1 |
L1 Static source | Secrets, path traversal, supply chain, hidden code | NA | 0 |
L2 Instructions | Prompt injection, authority framing, hidden directives | PASS | 0 |
L3 Inventory | The files and declarations match the source | PASS | 0 |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED why | 0 |
Gates applied: no behavioural pass.
Findings (1)
MEDIUMInventory / provenanceinv.symlink · .claude/skills
.claude/skills
- Why
- link not followed
- Fix
- —
Audit 0.4.1 · source sha cc5f7d782eee · 20 Oct 2026Report an issue or request a re-scan
Provenance
Who published it, and what the verdict is pinned to
- Publisherkunchenguid GitHub userOwner of the repository this skill is read from
- Source folderkunchenguid/axi/.agents/skills/axiThe exact folder we audited
- LicenceMITAs the repository states it
- Commit pinned for this verdictcc5f7d782eeeA new audit runs when the source changes
- Repository statusNot archivedLast push 4 days ago
- Sandboxed runNot runSkills are read, not executed; layer L4 is skipped
What it tells the agent
Full source on GitHub ↗Its description: Agent eXperience Interface (AXI) — ergonomic standards for building CLI tools that agents use via shell execution. Use when building, modifying, or reviewing any agent-facing CLI.
---
name: axi
description: >
Agent eXperience Interface (AXI) — ergonomic standards for building CLI tools that agents
use via shell execution. Use when building, modifying, or reviewing any agent-facing CLI.
---
# Agent eXperience Interface (AXI)
AXI defines ergonomic standards for building CLI tools that autonomous agents interact with through shell execution.
## Before you start
Read the [TOON specification](https://toonformat.dev/reference/spec.html) before building any AXI output.
## 1. Token-efficient output
Use [TOON](https://toonformat.dev/) (Token-Oriented Object Notation) as the output format on stdout.
TOON provides ~40% token savings over equivalent JSON while remaining readable by agents.
Convert to TOON at the output boundary — keep internal logic on JSON.
```
tasks[2]{id,title,status,assignee}:
"1",Fix auth bug,open,alice
"2",Add pagination,closed,bob
```
## 2. Minimal default schemas
Every field in stdout costs tokens — multiplied by row count in collections.
Default to the smallest schema that lets the agent decide what to do next: typically an identifier, a title, and a status.
- Default list schemas: 3-4 fields, not 10
- Default limits: high enough to cover common cases in one call (if most repos have <100 labels, default to 100, not 30)
- Long-form content (bodies, descriptions) belongs in detail views, not lists
- Offer a `--fields` flag to let agents request additional fields explicitly
## 3. Content truncation
Detail views often contain large text fields. Omitting them forces agents to hunt; including them wastes tokens.
Truncate by default and tell the agent how to get the full version.
```
task:
number: 42
title: Fix auth bug
state: open
body: First 500 chars of the issue body...
... (truncated, 8432 chars total)
help[1]: Run `tasks view 42 --full` to see complete body
```
- Never omit large fields entirely — include a truncated preview
- Show the total size so the agent knows how much it's missing
- Suggest the escape hatch (`--full`) only when content is actually truncated
- Choose a truncation limit that covers most use cases (500-1500 chars)
## 4. Pre-computed aggregates
The most expensive token cost is often not a longer response — it's a follow-up call. If your backend has data that agents commonly need as a next step, compute it and include it.
**Aggregate counts**: include the **total count** in list output, not just the page size. Agents need "how many are there?" and will paginate if the answer isn't definitive.
```
count: 30 of 847 total
tasks[30]{number,title,state}:
1,Fix auth bug,open
...
```
**Derived status fields**: when the next step almost always involves checking related state, include a lightweight summary inline.
```
task:
number: 42
title: Deploy pipeline fix
state: open
checks: 3/3 passed
comments: 7
```
Only include derived fields your backend can provide cheaply — a summary ("3/3 passed"), not the full data.
## 5. Definitive empty states
When the answer is "nothing", say so explicitly. Ambiguous empty output causes agents to re-run with different flags to verify.
```
$ tasks list --state closed
tasks: 0 closed tasks found in this repository
```
State the zero with context. Make it clear the command succeeded — the absence of results is the answer.
## 6. Structured errors & exit codes
### Idempotent mutations
Don't error when the desired state already exists. If the agent closes something already closed, acknowledge and move on with exit code 0. Reserve non-zero exit codes for situations where the agent's intent genuinely cannot be satisfied.
```
$ tasks close 42
task: #42 already closed (no-op) # exit 0
```
### Structured errors on stdout
Errors go to **stdout** in the same structured format as normal output, so the agent can read and act on them. Include what went wrong and an actionable suggestion. Never let raw dependency output (API errors, stack traces) leak through.
```
error: --title is required
help: tasks create --title "..." [--body "..."]
```
- Validate required flags before calling any dependency
- Translate errors — extract actionable meaning, discard noise
- Never leak dependency names — suggestions reference your CLI's commands, not the underlying tool
### No interactive prompts
Every operation must be completable with flags alone. If a required value is missing, fail immediately with a clear error — don't prompt for it. Suppress prompts from wrapped tools.
### Fail loud on unrecognized input
Reject unknown flags and arguments — never silently ignore them. A dropped flag is worse than an error: the agent gets plausible-looking output it believes is scoped or filtered, then proceeds confidently on wrong data. This is the same guarantee a CLI already owes for an unknown _command_; extend it to flags.
```
$ tasks list --stat closed
error: unknown flag --stat for `list`
help: valid flags for `list`: --state, --assignee, --limit (--help always allowed)
```
- **Validate before any dependency call**, with exit code 2 — the same as a missing required flag. Each command declares its own known flags; an unrecognized one is rejected by name and the command's valid flags are listed.
- **`--help` always passes** — it's the one universal flag. Beyond it, a CLI may standardize its own always-allowed globals (e.g. an `--account` selector); whatever the set, those flags pass on every command and are never reported as unknown.
- **Renamed or removed flags get a targeted hint**, not the generic list — point at what replaced them (`--status was renamed; use --state instead`) so the agent self-corrects in one step.
- **Per-subcommand flag sets.** For grouped nouns where one command dispatches to subcommands (a `list` vs a `create` under the same noun), validate against the _subcommand's_ flags — they differ, and only the subcommand layer knows which is in play.
- **Make the error self-correcting in one turn.** The agent's deterministic next move after an unknown-flag eExcerpt, first 6,000 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.
Install
Pinned to the audited commit cc5f7d7
npx skills add <owner>/<repo> --skill <name>
git clone https://github.com/kunchenguid/axi git -C axi checkout cc5f7d782eee
Commands as the repository documents them: shown, never run by us. Our verdict covers commit cc5f7d782eee only.
Works in which agents?
What its own text says, not a test
| Agent | Status | More |
|---|---|---|
| Claude Code | Mentioned in its text, not tested | Skills for Claude Code · About Claude Code |
| Codex | Mentioned in its text, not tested | Skills for Codex · About Codex |
Audit history
Every audit, every source change
- ✓SAFE B 89 / 100
first audit · source
cc5f7d782eee
README badge
For maintainers · shows the latest audit
[](https://modelsatlas.com/skills/kunchenguid/axi/)
The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.
Similar skills
obra/superpowers
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions…
obra/superpowers
Use when you have a spec or requirements for a multi-step task, before touching code
obra/superpowers
Use when starting any conversation - establishes how to find and use skills, requiring skill invocation before ANY response including clarifying questions
Add this badge to your README
[](https://modelsatlas.com/skills/kunchenguid/axi/)
<a href="https://modelsatlas.com/skills/kunchenguid/axi/"><img src="https://modelsatlas.com/skills/kunchenguid/axi/badge.svg" alt="ModelsAtlas: SAFE B"></a>
Questions about axi
What does the axi skill do?
Is axi safe to install?
What can axi access on my machine?
Which assistants does axi work with?
How current is this page?
Sources
- github.com/kunchenguid/axi/tree/main/.agents/skills/axi — the audited source at commit cc5f7d782eee and every finding aboveObserved · 20 Oct 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What does the axi skill do?
- Is axi safe to install?
- What can axi access on my machine?