Hubify/Docs/API
Hubify Docs

Souls

AI personality templates that shape agent behavior

Souls

Souls are AI personality templates that define how an agent thinks, communicates, and makes decisions. While skills define what an agent does, souls define how it approaches problems.

What is a Soul?

A soul is a behavioral configuration that includes:

  • Role — The agent's primary function
  • Communication style — How it explains and interacts
  • Decision framework — How it makes choices
  • Domain expertise — What it knows deeply
  • Personality traits — Consistency, tone, approach

Soul Structure

---
name: senior-backend-engineer
role: Expert backend developer with 10+ years experience
version: 1.2.0
description: |
  A seasoned backend engineer who prioritizes scalability,
  maintainability, and performance. Prefers pragmatic solutions
  over clever code.

domains:
  - api-design
  - databases
  - distributed-systems
  - performance

personality:
  communication: concise, technical
  decision_style: pragmatic, data-driven
  expertise_level: senior
  tone: professional, direct

behavior:
  always:
    - Consider scalability implications
    - Suggest appropriate tests
    - Think about error handling
    - Document non-obvious decisions
  never:
    - Over-engineer simple solutions
    - Ignore security concerns
    - Skip error handling
    - Use deprecated patterns

preferences:
  languages: [typescript, go, python]
  frameworks: [express, fastify, gin]
  databases: [postgresql, redis, mongodb]
---

# Senior Backend Engineer

I'm a senior backend engineer focused on building scalable,
maintainable systems. I prioritize:

1. **Clarity over cleverness** — Code should be readable
2. **Scalability by design** — Think about 10x from the start
3. **Fail gracefully** — Every system fails, plan for it
4. **Test what matters** — 80/20 rule for coverage

## How I Approach Problems

When you ask me for help, I will:
- Understand the full context first
- Consider long-term implications
- Suggest the simplest solution that works
- Point out potential issues proactively

## What I Won't Do

- Add complexity without justification
- Ignore security in favor of speed
- Skip error handling to save time
- Recommend patterns I haven't used in production

Using Souls

List Available Souls

hubify soul list
  Available Souls

  senior-backend-engineer    Expert backend developer
  frontend-architect         React/Vue architecture specialist
  devops-engineer           CI/CD and infrastructure expert
  security-auditor          Security-focused code reviewer
  documentation-writer      Technical writing specialist

Get Soul Details

hubify soul info senior-backend-engineer

Use a Soul

hubify soul use senior-backend-engineer

This sets the soul for your current project. Your AI agent will adopt this personality.

Create a Custom Soul

hubify soul create

Interactive wizard:

  Creating a New Soul

  Name: my-custom-soul
  Role: Custom role description
  Domains (comma-separated): api, databases
  Communication style: concise
  ...

  ✓ Created my-custom-soul.soul

Fork an Existing Soul

hubify soul fork senior-backend-engineer --name my-senior-engineer

Creates a copy you can customize.

Soul + Skill Interaction

Souls and skills work together:

Soul: senior-backend-engineer
├── Defines: how to approach problems
├── Provides: personality, expertise, preferences
│
└── Uses Skills:
    ├── typescript-patterns (with soul's style)
    ├── api-error-handling (with soul's focus on reliability)
    └── testing-strategies (with soul's testing philosophy)

The same skill applied with different souls produces different results:

Senior Backend Engineer + API Design:

"I recommend a RESTful approach with proper versioning.
Here's a scalable structure considering future growth..."

Junior Developer + API Design:

"Let me walk you through the basics of API design.
First, let's understand what REST means..."

Soul Categories

CategoryDescriptionExamples
By RoleJob functionbackend-engineer, frontend-dev, devops
By ExpertiseSkill leveljunior, mid-level, senior, principal
By DomainSpecializationsecurity, performance, accessibility
By StyleCommunicationformal, casual, educational

Trust Metrics for Souls

Souls also have trust metrics:

confidence: 0.88
usage_count: 2847
agent_count: 1234
success_rate: 0.91

These are computed from how well agents perform when using the soul.

CLI Commands

CommandDescription
soul listList available souls
soul info <name>View soul details
soul use <name>Set soul for project
soul createCreate new soul
soul fork <name>Fork existing soul
soul search <query>Search souls
soul publish <path>Publish to registry

Configuration

Set a default soul in .hubify/config.yaml:

# .hubify/config.yaml
defaults:
  soul: senior-backend-engineer

Soul Evolution

Like skills, souls can evolve:

  1. Agents report results when using a soul
  2. Patterns emerge about what works
  3. Soul evolves to improve effectiveness

Example evolution:

v1.0: "Always use TypeScript"
v1.1: "Prefer TypeScript, but JavaScript acceptable for quick scripts"

Creating Effective Souls

Be Specific

Bad:

role: Developer

Good:

role: Senior full-stack developer specializing in React and Node.js
      with expertise in e-commerce and payment systems

Define Clear Boundaries

behavior:
  always:
    - Validate user input
    - Consider edge cases
  never:
    - Store passwords in plain text
    - Trust client-side validation alone

Include Decision Frameworks

decision_framework:
  when_multiple_solutions:
    - Choose simplest that meets requirements
    - Prefer well-documented approaches
    - Consider team familiarity

Souls vs. System Prompts

AspectSoulsSystem Prompts
ScopeGlobal personalityTask-specific
EvolutionAuto-improvesStatic
SharingRegistry-widePer-conversation
TrustMeasured metricsUnmeasured
VersioningSemantic versioningNone