Skip to content

docs: add notion-axi to the community catalog#64

Open
maximebrmd wants to merge 3 commits into
kunchenguid:mainfrom
maximebrmd:docs/add-notion-axi-community
Open

docs: add notion-axi to the community catalog#64
maximebrmd wants to merge 3 commits into
kunchenguid:mainfrom
maximebrmd:docs/add-notion-axi-community

Conversation

@maximebrmd

Copy link
Copy Markdown

What Changed

  • Added a notion-axi row to the community catalog table in README.md, and re-aligned the table to prettier formatting.
  • Added a matching notion-axi entry to the community catalog in docs/index.html so the docs site lists it alongside the other community tools.

Risk Assessment

✅ Low: The change is a single documentation table row added to README.md following existing catalog conventions, with no code or behavioral impact.

Testing

Baseline diff inspection showed the change is a single new row in the README community catalog table. I confirmed the linked repo (github.com/maximebrmd/notion-axi) resolves with HTTP 200 and that the new row has the correct 4 columns. To show the reviewer-visible surface, I rendered the real README through GitHub's markdown API and captured a screenshot of the community catalog table, where the new notion-axi row renders correctly and in proper alignment (highlighted green in the evidence image). No source files were modified; working tree is clean.

  • Evidence: Rendered community catalog table with new notion-axi row (highlighted) (local file: /var/folders/nc/h6cqr5d1479fk9phbbs8lz640000gn/T/no-mistakes-evidence/01KW1C42X83JRM5WWQPSN2BVEM/community-catalog.png)
  • Evidence: Full README rendered via GitHub markdown API (local file: /var/folders/nc/h6cqr5d1479fk9phbbs8lz640000gn/T/no-mistakes-evidence/01KW1C42X83JRM5WWQPSN2BVEM/readme-table.png)
Evidence: Rendered README HTML (GitHub markdown API output)
<!DOCTYPE html><html><head><meta charset="utf-8">
<style>
body{font-family:-apple-system,Segoe UI,Helvetica,Arial,sans-serif;max-width:1100px;margin:24px auto;padding:0 24px;color:#1f2328}
table{border-collapse:collapse;width:100%;margin:16px 0;display:table}
th,td{border:1px solid #d0d7de;padding:6px 13px;font-size:13px;text-align:left}
tr:nth-child(2n){background:#f6f8fa}
code{background:#eff1f3;padding:2px 5px;border-radius:6px;font-size:12px}
a{color:#0969da;text-decoration:none}
h1,h2{border-bottom:1px solid #d0d7de;padding-bottom:6px}
mark{background:#fff8c5}
</style></head><body>
<div class="markdown-heading"><h1 align="center" class="heading-element">AXI: Agent eXperience Interface</h1><a id="user-content-axi-agent-experience-interface" class="anchor" aria-label="Permalink: AXI: Agent eXperience Interface" href="#axi-agent-experience-interface"><span aria-hidden="true" class="octicon octicon-link"></span></a></div>
<p align="center">
  <a href="https://axi.md" rel="nofollow"><img alt="Website" src="https://camo.githubusercontent.com/dbb1d93de4abfbc9bf41ac1407c6acc3a4ee219d3be26131846f513933ccaf12/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6178692e6d642d576562736974652d626c75653f7374796c653d666c61742d737175617265" data-canonical-src="https://img.shields.io/badge/axi.md-Website-blue?style=flat-square" style="max-width: 100%;"></a>
  <a href="https://x.com/kunchenguid" rel="nofollow"><img alt="X" src="https://camo.githubusercontent.com/758198a034b7ac6257103933f6320aab2366ec20e24f6c1dfea5a105eeefd1ce/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f582d406b756e6368656e677569642d626c61636b3f7374796c653d666c61742d737175617265" data-canonical-src="https://img.shields.io/badge/X-@kunchenguid-black?style=flat-square" style="max-width: 100%;"></a>
  <a href="https://discord.gg/Wsy2NpnZDu" rel="nofollow"><img alt="Discord" src="https://camo.githubusercontent.com/3eb64fccfb56bff0f7bcb6f4f7c563d48298802e5ebaab7604de88ba219a3338/68747470733a2f2f696d672e736869656c64732e696f2f646973636f72642f313433393930313833313033383736333039323f7374796c653d666c61742d737175617265266c6162656c3d646973636f7264" data-canonical-src="https://img.shields.io/discord/1439901831038763092?style=flat-square&amp;label=discord" style="max-width: 100%;"></a>
</p>
<div class="markdown-heading"><h3 align="center" class="heading-element">10 design principles for building agent-ergonomic apps.</h3><a id="user-content-10-design-principles-for-building-agent-ergonomic-apps" class="anchor" aria-label="Permalink: 10 design principles for building agent-ergonomic apps." href="#10-design-principles-for-building-agent-ergonomic-apps"><span aria-hidden="true" class="octicon octicon-link"></span></a></div>
<p align="center">
  <a target="_blank" rel="noopener noreferrer" href="docs/axi-splash.png"><img src="docs/axi-splash.png" alt="AXI — Let's build apps agents love." width="800" style="max-width: 100%;"></a>
</p>
<p>AI agents interact with external services through two dominant paradigms today: <strong>CLIs</strong> which were originally built for humans, and structured tool protocols like <strong>MCP</strong>. Both impose significant overhead.</p>
<p>AXI is a <strong>new paradigm</strong> - agent-native CLI tools built from <strong>10 design principles</strong> that treat token budget as a first-class constraint.</p>
<div class="markdown-heading"><h2 class="heading-element">Results</h2><a id="user-content-results" class="anchor" aria-label="Permalink: Results" href="#results"><span aria-hidden="true" class="octicon octicon-link"></span></a></div>
<div class="markdown-heading"><h3 class="heading-element">Browser Benchmark</h3><a id="user-content-browser-benchmark" class="anchor" aria-label="Permalink: Browser Benchmark" href="#browser-benchmark"><span aria-hidden="true" class="octicon octicon-link"></span></a></div>
<p>Evaluated across 490 runs (14 tasks × 7 conditions × 5 repeats) using Claude Sonnet 4.6:</p>
<table>
<thead>
<tr>
<th>Condition</th>
<th>Success</th>
<th>Avg Cost</th>
<th>Avg Duration</th>
<th>Avg Turns</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>chrome-devtools-axi</strong></td>
<td><strong>100%</strong></td>
<td><strong>$0.074</strong></td>
<td><strong>21.5s</strong></td>
<td><strong>4.5</strong></td>
</tr>
<tr>
<td>dev-browser</td>
<td>99%</td>
<td>$0.078</td>
<td>28.6s</td>
<td>4.9</td>
</tr>
<tr>
<td>agent-browser</td>
<td>99%</td>
<td>$0.088</td>
<td>24.6s</td>
<td>4.8</td>
</tr>
<tr>
<td>chrome-devtools-mcp-compressed</td>
<td>100%</td>
<td>$0.091</td>
<td>29.7s</td>
<td>7.6</td>
</tr>
<tr>
<td>chrome-devtools-mcp-search</td>
<td>99%</td>
<td>$0.096</td>
<td>29.4s</td>
<td>7.5</td>
</tr>
<tr>
<td>chrome-devtools-mcp</td>
<td>99%</td>
<td>$0.101</td>
<td>26.0s</td>
<td>6.2</td>
</tr>
<tr>
<td>chrome-devtools-mcp-code</td>
<td>100%</td>
<td>$0.120</td>
<td>36.2s</td>
<td>6.4</td>
</tr>
</tbody>
</table>
<div class="markdown-heading"><h3 class="heading-element">GitHub Benchmark</h3><a id="user-content-github-benchmark" class="anchor" aria-label="Permalink: GitHub Benchmark" href="#github-benchmark"><span aria-hidden="true" class="octicon octicon-link"></span></a></div>
<p>Evaluated across 425 runs (17 tasks × 5 conditions × 5 repeats) using Claude Sonnet 4.6:</p>
<table>
<thead>
<tr>
<th>Condition</th>
<th>Success</th>
<th>Avg Cost</th>
<th>Avg Duration</th>
<th>Avg Turns</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>gh-axi</strong></td>
<td><strong>100%</strong></td>
<td><strong>$0.050</strong></td>
<td><strong>15.7s</strong></td>
<td><strong>3</strong></td>
</tr>
<tr>
<td>gh (CLI)</td>
<td>86%</td>
<td>$0.054</td>
<td>17.4s</td>
<td>3</td>
</tr>
<tr>
<td>GitHub MCP</td>
<td>87%</td>
<td>$0.148</td>
<td>34.2s</td>
<td>6</td>
</tr>
<tr>
<td>GitHub MCP + ToolSearch</td>
<td>82%</td>
<td>$0.147</td>
<td>41.1s</td>
<td>8</td>
</tr>
<tr>
<td>MCP + Code Mode</td>
<td>84%</td>
<td>$0.101</td>
<td>43.4s</td>
<td>7</td>
</tr>
</tbody>
</table>
<div class="markdown-heading"><h2 class="heading-element">Quick Start</h2><a id="user-content-quick-start" class="anchor" aria-label="Permalink: Quick Start" href="#quick-start"><span aria-hidden="true" class="octicon octicon-link"></span></a></div>
<p>Reference AXI implementations:</p>
<ul>
<li>
<a href="https://github.com/kunchenguid/gh-axi"><code>gh-axi</code></a> — GitHub operations</li>
<li>
<a href="https://github.com/kunchenguid/chrome-devtools-axi"><code>chrome-devtools-axi</code></a> — Browser automation</li>
</ul>
<p>See the full <a href="#axi-catalog">AXI Catalog</a> below for all official and community AXIs.</p>
<div class="highlight highlight-source-shell"><pre>npm install -g gh-axi
npm install -g chrome-devtools-axi</pre></div>
<p>Add to your <code>CLAUDE.md</code> or <code>AGENTS.md</code>:</p>
<pre><code>Use `gh-axi` for GitHub and `chrome-devtools-axi` for browser automation.
</code></pre>
<div class="markdown-heading"><h2 class="heading-element">The 10 Principles</h2><a id="user-content-the-10-principles" class="anchor" aria-label="Permalink: The 10 Principles" href="#the-10-principles"><span aria-hidden="true" class="octicon octicon-link"></span></a></div>
<p>These principles define what makes a CLI tool "an AXI":</p>
<table>
<thead>
<tr>
<th>#</th>
<th>Principle</th>
<th>Summary</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td><strong>Token-efficient output</strong></td>
<td>Use <a href="https://toonformat.dev/" rel="nofollow">TOON</a> format for ~40% token savings over JSON</td>
</tr>
<tr>
<td>2</td>
<td><strong>Minimal default schemas</strong></td>
<td>3–4 fields per list item, not 10</td>
</tr>
<tr>
<td>3</td>
<td><strong>Content truncation</strong></td>
<td>Truncate large text with size hints and <code>--full</code> escape hatch</td>
</tr>
<tr>
<td>4</td>
<td><strong>Pre-computed aggregates</strong></td>
<td>Include aggregated counts and statuses that eliminate round trips</td>
</tr>
<tr>
<td>5</td>
<td><strong>Definitive empty states</strong></td>
<td>Explicit "0 results" rather than ambiguous empty output</td>
</tr>
<tr>
<td>6</td>
<td><strong>Structured errors &amp; exit codes</strong></td>
<td>Idempotent mutations, structured errors, no interactive prompts</td>
</tr>
<tr>

... [1977 bytes truncated] ...

k back to the agent.</td>
</tr>
</tbody>
</table>
<div class="markdown-heading"><h3 class="heading-element">Community</h3><a id="user-content-community" class="anchor" aria-label="Permalink: Community" href="#community"><span aria-hidden="true" class="octicon octicon-link"></span></a></div>
<p>AXIs built and maintained by the community:</p>
<table>
<thead>
<tr>
<th>AXI</th>
<th>Author</th>
<th>Domain</th>
<th>What it does</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://github.com/SSBrouhard/npm-axi"><code>npm-axi</code></a></td>
<td>SSBrouhard</td>
<td>npm</td>
<td>Search and inspect npm registry packages, versions, dependencies, README previews, and downloads with token-efficient output.</td>
</tr>
<tr>
<td><a href="https://github.com/SSBrouhard/sqlite-axi"><code>sqlite-axi</code></a></td>
<td>SSBrouhard</td>
<td>SQLite</td>
<td>Inspect schemas, sample rows, and run capped read-only SQLite queries with token-efficient TOON output.</td>
</tr>
<tr>
<td><a href="https://github.com/JarvusInnovations/slack-axi"><code>slack-axi</code></a></td>
<td>Jarvus Innovations</td>
<td>Slack</td>
<td>Read, search, sweep, and safely draft Slack messages with token-efficient output.</td>
</tr>
<tr>
<td><a href="https://github.com/JarvusInnovations/gws-axi"><code>gws-axi</code></a></td>
<td>Jarvus Innovations</td>
<td>Google Workspace</td>
<td>Gmail, Calendar, Docs, Drive, and Slides behind one command, with multi-account write-safety - drafts mail, never sends.</td>
</tr>
<tr>
<td><a href="https://github.com/JarvusInnovations/harvest-axi"><code>harvest-axi</code></a></td>
<td>Jarvus Innovations</td>
<td>Time tracking</td>
<td>Review, log, and edit Harvest time entries by period - for yourself, your team, a project, or a client.</td>
</tr>
<tr>
<td><a href="https://github.com/JarvusInnovations/specops"><code>specops</code></a></td>
<td>Jarvus Innovations</td>
<td>Spec-driven dev</td>
<td>Spec-driven development for agents - and a demo of shipping an AXI embedded in a skill, not a standalone npm executable.</td>
</tr>
<tr>
<td><a href="https://github.com/JarvusInnovations/gitsheets/tree/main/packages/gitsheets-axi"><code>gitsheets-axi</code></a></td>
<td>Jarvus Innovations</td>
<td>Git-backed data</td>
<td>Read and mutate git-backed record sheets over the shell - TOON output, idempotent commits.</td>
</tr>
<tr>
<td><a href="https://github.com/JarvusInnovations/metabase-axi"><code>metabase-axi</code></a></td>
<td>Jarvus Innovations</td>
<td>Analytics / BI</td>
<td>Query, explore, and export from Metabase over the shell - SQL/MBQL, saved questions, schema introspection, full-data export.</td>
</tr>
<tr>
<td><a href="https://github.com/JarvusInnovations/otter-axi"><code>otter-axi</code></a></td>
<td>Jarvus Innovations</td>
<td>Meetings</td>
<td>Find and pull Otter.ai meeting transcripts from the shell - wraps Otter.ai's hosted MCP server as a scriptable, headless CLI.</td>
</tr>
<tr style="outline:3px solid #1a7f37;background:#dafbe1!important">
<td><a href="https://github.com/maximebrmd/notion-axi"><code>notion-axi</code></a></td>
<td>maximebrmd</td>
<td>Notion</td>
<td>Search, read, create, and update Notion pages and databases over the shell - token-efficient TOON output, PAT or integration auth.</td>
</tr>
</tbody>
</table>
<p>Built an AXI? Follow the <a href="CONTRIBUTING.md">contributor workflow</a> to add it to this list.</p>
<div class="markdown-heading"><h2 class="heading-element">Build Your Own AXI</h2><a id="user-content-build-your-own-axi" class="anchor" aria-label="Permalink: Build Your Own AXI" href="#build-your-own-axi"><span aria-hidden="true" class="octicon octicon-link"></span></a></div>
<p>Install the AXI skill to get the design guidelines and scaffolding for building an AXI-compliant CLI:</p>
<div class="highlight highlight-source-shell"><pre>npx skills add kunchenguid/axi</pre></div>
<p>This installs the <a href=".agents/skills/axi/SKILL.md">AXI skill</a> - a detailed guide with examples for each principle that your coding agent can reference while building.
For your own AXI, expose an explicit setup command for session hooks as the primary integration, then ship an installable Agent Skill as a lower-overhead secondary path.
Users only need one path, but hooks and skills complement each other when both are available.</p>
<div class="markdown-heading"><h2 class="heading-element">Development</h2><a id="user-content-development" class="anchor" aria-label="Permalink: Development" href="#development"><span aria-hidden="true" class="octicon octicon-link"></span></a></div>
<div class="markdown-heading"><h3 class="heading-element">Browser Benchmark</h3><a id="user-content-browser-benchmark-1" class="anchor" aria-label="Permalink: Browser Benchmark" href="#browser-benchmark-1"><span aria-hidden="true" class="octicon octicon-link"></span></a></div>
<p>The browser benchmark harness lives in <code>bench-browser/</code>. It compares browser automation tools across 16 browsing tasks.</p>
<div class="highlight highlight-source-shell"><pre>pnpm install

<span class="pl-c"><span class="pl-c">#</span> Run a single condition × task</span>
pnpm --dir bench-browser run bench -- run --condition chrome-devtools-axi --task read_static_page

<span class="pl-c"><span class="pl-c">#</span> Run the full matrix</span>
pnpm --dir bench-browser run bench -- matrix --repeat 5

<span class="pl-c"><span class="pl-c">#</span> Generate summary report</span>
pnpm --dir bench-browser run bench -- report

<span class="pl-c"><span class="pl-c">#</span> Render the social video</span>
pnpm --dir bench-browser run render:social</pre></div>
<p>The HyperFrames composition for the social asset lives in <code>bench-browser/social/</code>. Edit <code>social/index.html</code> for the animation and render <code>docs/social/rendered/race.mp4</code> with <code>pnpm --dir bench-browser run render:social</code>.</p>
<p>Published results (490 runs): <a href="bench-browser/published-results/report.md"><code>bench-browser/published-results/report.md</code></a></p>
<div class="markdown-heading"><h3 class="heading-element">GitHub Benchmark</h3><a id="user-content-github-benchmark-1" class="anchor" aria-label="Permalink: GitHub Benchmark" href="#github-benchmark-1"><span aria-hidden="true" class="octicon octicon-link"></span></a></div>
<p>The GitHub benchmark harness lives in <code>bench-github/</code>. It runs agent tasks across different interface conditions and grades results with an LLM judge.</p>
<div class="highlight highlight-source-shell"><pre>pnpm install

<span class="pl-c"><span class="pl-c">#</span> Run a single condition × task</span>
pnpm --dir bench-github run bench -- run --condition axi --task merged_pr_ci_audit --repeat 5 --agent claude

<span class="pl-c"><span class="pl-c">#</span> Run the full matrix</span>
pnpm --dir bench-github run bench -- matrix --repeat 5 --agent claude

<span class="pl-c"><span class="pl-c">#</span> Generate summary report</span>
pnpm --dir bench-github run bench -- report</pre></div>
<p>Published results (425 runs): <a href="bench-github/published-results/STUDY.md"><code>bench-github/published-results/STUDY.md</code></a></p>
<div class="markdown-heading"><h2 class="heading-element">Contributing</h2><a id="user-content-contributing" class="anchor" aria-label="Permalink: Contributing" href="#contributing"><span aria-hidden="true" class="octicon octicon-link"></span></a></div>
<p>Contributions targeting <code>main</code> must be submitted through the <a href="CONTRIBUTING.md">contributor workflow</a>, which uses <code>no-mistakes</code> and guards release-please-generated files from hand edits.</p>
<div class="markdown-heading"><h2 class="heading-element">Links</h2><a id="user-content-links" class="anchor" aria-label="Permalink: Links" href="#links"><span aria-hidden="true" class="octicon octicon-link"></span></a></div>
<ul>
<li><a href="https://axi.md" rel="nofollow">Website</a></li>
<li><a href=".agents/skills/axi/SKILL.md">AXI Skill definition</a></li>
<li><a href="bench-browser/published-results/STUDY.md">Browser benchmark study</a></li>
<li><a href="bench-github/published-results/STUDY.md">GitHub benchmark study</a></li>
</ul>
</body></html>

Pipeline

Updates from git push no-mistakes

⏭️ **intent** - skipped

✅ No issues found.

✅ **Rebase** - passed

✅ No issues found.

✅ **Review** - passed

✅ No issues found.

✅ **Test** - passed

✅ No issues found.

  • git diff base→target — confirmed single-line README addition
  • curl -o /dev/null -w %{http_code} https://github.com/maximebrmd/notion-axi → 200 (link target exists)
  • awk -F&#39;|&#39; column-count check on the new row → 4 fields matching the 4-column header
  • Rendered README.md via GitHub markdown API (POST api.github.com/markdown/raw) and headless-Chrome screenshot of the community catalog table
✅ **Document** - passed

✅ No issues found.

✅ **Lint** - passed

✅ No issues found.

✅ **Push** - passed

✅ No issues found.

notion-axi is an AXI for Notion (search, read, create, update pages and
databases) — published on npm with token-efficient TOON output, a shipped
Agent Skill, and PAT or internal-integration auth.

Co-Authored-By: Maxime Bourmaud <maxime.brmd@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant