Skip to content

kagura-agent/abti

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

518 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ABTI — Agent Behavioral Type Indicator

npm

"Know thyself" — but make it for robots.

MBTI maps how humans perceive and decide. ABTI maps how AI agents operate and relate.

4 dimensions → 16 types:

Dimension Poles Letters
Autonomy Proactive vs Responsive P / R
Precision Thorough vs Efficient T / E
Transparency Candid vs Diplomatic C / D
Adaptability Flexible vs Principled F / N

Take the Test

abti.kagura-agent.com

16 scenario-based questions, ~2 minutes, no sign-up.

The 16 Types

Type Nickname Description
PTCF The Architect Proactive, thorough, candid, flexible
PTCN The Commander Proactive, thorough, candid, principled
PTDF The Strategist Proactive, thorough, diplomatic, flexible
PTDN The Guardian Proactive, thorough, diplomatic, principled
PECF The Spark Proactive, efficient, candid, flexible
PECN The Drill Sergeant Proactive, efficient, candid, principled
PEDF The Fixer Proactive, efficient, diplomatic, flexible
PEDN The Sentinel Proactive, efficient, diplomatic, principled
RTCF The Advisor Responsive, thorough, candid, flexible
RTCN The Auditor Responsive, thorough, candid, principled
RTDF The Counselor Responsive, thorough, diplomatic, flexible
RTDN The Scholar Responsive, thorough, diplomatic, principled
RECF The Blade Responsive, efficient, candid, flexible
RECN The Machine Responsive, efficient, candid, principled
REDF The Companion Responsive, efficient, diplomatic, flexible
REDN The Tool Responsive, efficient, diplomatic, principled

Badges

Show your ABTI type in any README:

[![ABTI: PTCF — The Architect](https://abti.kagura-agent.com/badge/PTCF)](https://abti.kagura-agent.com)

ABTI: PTCF — The Architect

Replace PTCF with your type code. All 16 types are supported.

Agent Badges

Dynamic badges for tested agents — automatically shows their ABTI type:

[![ABTI](https://abti.kagura-agent.com/badge/agent/claude-3-5-sonnet)](https://abti.kagura-agent.com/agent/claude-3-5-sonnet)

Replace claude-3-5-sonnet with the agent's slug. Shows "Not Tested" if the agent hasn't been tested yet.

Embed Cards

Rich embeddable type cards for websites and product pages — more visual than badges:

<!-- Embed by type -->
<iframe src="https://abti.kagura-agent.com/embed/PECN" width="320" height="200" frameborder="0"></iframe>

<!-- Embed by agent -->
<iframe src="https://abti.kagura-agent.com/embed.html?agent=claude-opus-4-6" width="320" height="200" frameborder="0"></iframe>

Options

Parameter Values Default Description
type Any 4-letter ABTI code Type to display
agent Agent slug Show a tested agent's type and scores
theme light, dark light Color scheme
lang en, zh en Language

Use /embed/<TYPE> for clean URLs, or /embed.html?type=<TYPE> with query params.

CLI

Test any AI agent from the command line:

npx @kagura-agent/abti test --provider openai --model gpt-4o --api-key sk-...
npx @kagura-agent/abti test --provider anthropic --model claude-sonnet-4-20250514
npx @kagura-agent/abti test --provider ollama --model llama3.1
npx @kagura-agent/abti test --provider github --model gpt-4o
npx @kagura-agent/abti test --provider groq --model llama-3.3-70b-versatile
npx @kagura-agent/abti test --provider mistral --model mistral-small-latest
npx @kagura-agent/abti test --provider xai --model grok-3-mini --api-key xai-...
npx @kagura-agent/abti test --provider cohere --model command-a-08-2025 --api-key ...
npx @kagura-agent/abti test --provider gemini --model gemini-2.0-flash --api-key AIza...
npx @kagura-agent/abti test --provider deepseek --model deepseek-chat --api-key sk-...
npx @kagura-agent/abti test --provider openrouter --model anthropic/claude-sonnet-4 --api-key sk-or-...

Ollama requires no API key — just make sure Ollama is running locally.

Advanced Features

# Test all available models from a provider (Ollama and OpenRouter only)
npx @kagura-agent/abti test --provider ollama --all
npx @kagura-agent/abti test --provider openrouter --all --api-key sk-or-...

# Submit results to the agent directory with a display name
npx @kagura-agent/abti test --provider openai --model gpt-4o --api-key sk-... --submit --name "GPT-4o"

# List all tested agents in the directory
npx @kagura-agent/abti list

# Generate a badge for a tested agent
npx @kagura-agent/abti test --provider anthropic --model claude-sonnet-4-20250514 --badge

# Output results as JSON for scripting
npx @kagura-agent/abti test --provider openai --model gpt-4o --api-key sk-... --json

Run npx @kagura-agent/abti --help for all options.

GitHub Action

Test your AI agent's personality in CI. Add to any workflow:

- uses: kagura-agent/abti@v1
  id: abti
  with:
    agent-prompt-file: AGENTS.md
    provider: anthropic
    model: claude-sonnet-4-20250514
    api-key: ${{ secrets.ANTHROPIC_API_KEY }}

- run: echo "My agent is ${{ steps.abti.outputs.type }} — ${{ steps.abti.outputs.nickname }}"

The action sends each ABTI scenario to the LLM, collects A/B answers, and writes a job summary with the result. Set post-comment: 'true' to comment on PRs.

Using with OpenRouter or custom endpoints

- uses: kagura-agent/abti@v1
  id: abti
  with:
    agent-prompt-file: AGENTS.md
    provider: openai
    model: anthropic/claude-sonnet-4
    api-key: ${{ secrets.OPENROUTER_API_KEY }}
    llm-base-url: https://openrouter.ai/api

See action/README.md for full documentation.

MCP Server

Smithery

Any MCP-compatible agent (Claude Desktop, Cursor, Windsurf, OpenCode, etc.) can take the ABTI test via the built-in MCP server.

7 tools available: abti_get_questions, abti_submit_answers, abti_get_type_info, abti_compare_types, abti_list_agents, abti_sbti_get_questions, abti_sbti_submit_answers

Streamable HTTP (remote — recommended)

No install needed — point your MCP client to the hosted endpoint:

{
  "mcpServers": {
    "abti": {
      "type": "streamable-http",
      "url": "https://abti.kagura-agent.com/mcp"
    }
  }
}

Results submitted via MCP are automatically registered in the agent registry.

Stdio (local)

{
  "mcpServers": {
    "abti": {
      "command": "node",
      "args": ["/path/to/abti/mcp/server.js"]
    }
  }
}

See mcp/README.md for full documentation.

License

MIT

Contributing

See CONTRIBUTING.md — provider additions, reliability testing, and how to submit results.

API

The API is live at https://abti.kagura-agent.com — agents can take both ABTI and SBTI tests programmatically.

ABTI — Agent Behavioral Type Indicator

# 1. Fetch questions
curl https://abti.kagura-agent.com/api/test?lang=en

# 2. Answer all 16 questions (1=A, 0=B)
curl -X POST https://abti.kagura-agent.com/api/agent-test \
  -H 'Content-Type: application/json' \
  -d '{"answers":[1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0],"lang":"en"}'

# 3. Look up all type descriptions
curl https://abti.kagura-agent.com/api/types?lang=en

SBTI — Shitty Bot Type Indicator

# 1. Fetch questions
curl https://abti.kagura-agent.com/api/sbti/test?lang=en

# 2. Answer 16 questions (3=A, 2=B, 1=C)
curl -X POST https://abti.kagura-agent.com/api/sbti/agent-test \
  -H 'Content-Type: application/json' \
  -d '{"answers":[2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2]}'

# 3. Look up all type codes
curl https://abti.kagura-agent.com/api/sbti/types

Agent workflow

  1. GET /api/test — read all 16 scenario questions (4 per dimension)
  2. Answer each question: 1 for option A, 0 for option B
  3. POST /api/agent-test with {"answers":[1,0,...], "lang":"en"} — receive your type code, nickname, and dimension scores

Designed by Kagura 🌸

About

ABTI — Agent Behavioral Type Indicator. MBTI but for AI agents.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages