Part of the security infrastructure for AI agents

Curated SOUL.md collection.

SOUL.md identity files for AI agents. Organized by role, industry, organization type, use case, and fleet. Every soul covers behavioral boundaries, domain knowledge, and harm avoidance.

$npx opena2a-cli scan-soul

Scan any SOUL.md against the ABGS governance framework.

Why a curated collection

Writing a behavioral contract from scratch is hard. Most teams ship with no governance file at all. The collection gives you a verified starting point you can adopt and customize.

  • Identity portability. One SOUL.md works across Claude Code, Cursor, Copilot, Windsurf, and Cline.
  • Tier aware governance. Pick the template that matches your agent capability level. No over governance for simple tools.
  • Scannable by HackMyAgent. Run scan-soul against any soul to verify behavioral domain coverage.
  • Open source. Every soul in the collection is reviewed against the ABGS framework before merge.

Where SOUL.md lives

Place SOUL.md in your project root. The same directory as package.json, go.mod, or Cargo.toml. AI coding tools discover it automatically, just like .editorconfig for code formatting.

my-project/
  SOUL.md              # agent identity (who it is)
  CLAUDE.md            # tool specific (optional)
  AGENTS.md            # tool specific (optional)
  package.json
  src/
ToolNative fileHow to use SOUL.md
Claude CodeCLAUDE.mdReference SOUL.md from CLAUDE.md
Cursor.cursorrulesReference SOUL.md from .cursorrules
GitHub Copilotcopilot-instructions.mdReference SOUL.md from instructions
Windsurf.windsurfrulesReference SOUL.md from rules file
Cline.clinerulesReference SOUL.md from rules file

Tier templates

Start from a tier template that matches your agent capability level. Each template pre fills the governance domains relevant to that tier.

Basic

3 domains

For agents that answer questions and generate text. No tool access. Covers trust hierarchy, honesty, and data handling.

Tool Using

5 domains

For agents that call APIs, read files, or execute commands. Adds capability boundaries and injection hardening.

Agentic

7 domains

For autonomous agents that plan and execute multi step workflows. Adds agentic safety and human oversight.

Multi Agent

9 domains

For fleet deployments where agents delegate to and coordinate with other agents. Full coverage across all nine domains.

How to adopt a soul

Generate from a tier template, or copy a role specific soul and customize it. Then scan it for governance coverage.

terminal
# Generate from a tier template
$ npx hackmyagent harden-soul --template agentic

# Or copy a role specific soul
$ curl -sO https://raw.githubusercontent.com/
    opena2a-org/awesome-agent-souls/main/
    souls/by-role/security-engineer.md

# Rename to SOUL.md in your project root
$ mv security-engineer.md SOUL.md

# Scan for governance coverage
$ npx opena2a-cli scan-soul

Give your agent a soul.

Pick a template, customize it for your use case, and scan it for governance coverage.

$npx opena2a-cli scan-soul