Skip to main content

Security scanner and skill registry for agent tool descriptions

Project description

brunnr — the well agents drink from

brunnr

The well agents drink from.

Skills marketplace for Claude Code and agent-facing tools.

PyPI License: MIT Skills AX Rubric


Beneath the world tree there is a well. Odin gave an eye to drink from it.

Your agent won't need to. We bottled the water.


Contents


What this is

brunnr is a skills marketplace for Claude Code. Install it once, get access to every skill in the collection.

AX Description Rubric

The first skill: the AX Description Rubric — a tool that scores your agent-facing tool descriptions against five criteria that determine whether an agent will ever call your tool.

Most tool descriptions score 1-2 out of 5. The rubric tells you why, then rewrites them to score 5.

Install

Option 1 — Claude Code (recommended)

# Add the brunnr marketplace
/plugin marketplace add Peleke/brunnr

# Install a skill
/plugin install ax-rubric@brunnr-skills

# Use it
/ax-rubric

Paste your tool description when prompted. Or pass it inline:

/ax-rubric "Query the knowledge base for structured learnings, patterns, and skills relevant to your current work context."

Option 2 — CLI

# uv (recommended)
uv tool install brunnr

# or pipx
pipx install brunnr

# or pip
pip install brunnr
# Install a skill from the registry
brunnr install ax-rubric

# Scan your skills for threats
brunnr scan skills/

# Run the eval harness
brunnr eval ax-rubric --dry-run

What you get

knowledge_base_query

Score: 1/5

Criterion Result Notes
Output shape fail "structured learnings, patterns, and skills" — how many?
Cost signal fail No indication of response size
Trigger clarity fail "relevant to your current work context" — always true
Specificity fail Lists categories, solves no named problem
Differentiation fail Half your tools say "relevant to current context"

Rewritten (5/5):

"Check for known pitfalls before starting work. Returns 3-5 specific warnings for your tech stack. ~500 tokens. Call once at session start."

One input, five scores, one rewrite. The rewrite is ready to paste into your tool definition.


The rubric

Five criteria. Binary pass/fail. Most descriptions fail.

The AX Description Rubric — five criteria for agent-facing tool descriptions

0-1 pass = invisible (agent will never call it). 2-3 = marginal. 4-5 = habitual.

The bar for habitual use is 4/5. Most tool descriptions in the wild score 1-2. The tool might be excellent. The agent will never know.


Skills

Skill What it does Based on
ax-rubric Score tool descriptions for agent discoverability. 5 criteria, pass/fail, rewrite. I Don't Deliberate About This

More skills coming. Each one ships alongside an article in the AX series.


Why "brunnr"

Old Norse brunnr: well, spring.

As in Mímisbrunnr — the Well of Mímir beneath Yggdrasil. Odin sacrificed an eye to drink from it and gain wisdom. The well doesn't give you answers. It gives you the capacity to see what was always there.

Your agent doesn't need to sacrifice anything. It just needs tool descriptions that don't waste its context window.


Contributing

Have an agent-facing tool? Run /ax-rubric on your own descriptions first. If they score 4+, you're ahead of 90% of the field.

Want to add a skill? Open a PR. The rubric applies to skill descriptions too.


License

MIT


Part of the Agent Experience (AX) series by Peleke Sengstacke and Maren.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

brunnr-0.1.1.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

brunnr-0.1.1-py3-none-any.whl (19.7 kB view details)

Uploaded Python 3

File details

Details for the file brunnr-0.1.1.tar.gz.

File metadata

  • Download URL: brunnr-0.1.1.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for brunnr-0.1.1.tar.gz
Algorithm Hash digest
SHA256 337b9ca22cd7ec6d81345274a855287c78a21b672bb5f1de7788688ff07f5cd7
MD5 ba71319580bf6fb94ac29269c516e7ed
BLAKE2b-256 17099ff5a2608ace75b4ab57f0c331a2e3e3696c4d3ced245c8b0186a915d4cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for brunnr-0.1.1.tar.gz:

Publisher: publish.yml on Peleke/brunnr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file brunnr-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: brunnr-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 19.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for brunnr-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2a941770faee63ceaddbf603fbf9f8678647f766b10805c5ec415dbd7bc75a25
MD5 d8b10d3c97f6b5a08b3bd179999f2d09
BLAKE2b-256 c3ab30346481254ef3788eb30cc03f79228c11fae519f6aacfa8cc92caa75a9a

See more details on using hashes here.

Provenance

The following attestation bundles were made for brunnr-0.1.1-py3-none-any.whl:

Publisher: publish.yml on Peleke/brunnr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page