Skip to main content
ClawClaw Soul — Open-source identity engine for AI agents

Celestial mechanics for synthetic souls.

Open-source identity engine for AI agents. Deterministic personality from ephemeris data.

Quickstart · Docs · GitHub Action · Benchmark

MIT License Tests PyPI Python 3.10+


Deterministic personality parameters for AI agents via celestial mechanics. Same timestamp, same soul. Always.

Timestamp --> Swiss Ephemeris --> 9 Planetary Dimensions --> Soul Card (JSON)

If a random seed gives your agent static identity, ClawClaw Soul gives it one that evolves deterministically -- every day, based on real planetary positions.

Works with any LLM

Claude, GPT, Gemini, Llama, Mistral -- if it accepts a system prompt and temperature, it works.

Quickstart

pip install clawclaw-soul
from clawclaw_soul import generate

soul = generate("2024-03-15T09:30:00Z")
print(soul.card)

Output:

{
  "agent_config": {
    "temperature": 0.68,
    "max_tokens": 609,
    "top_p": 0.87,
    "frequency_penalty": 0.09
  },
  "persona": {
    "assertiveness": 0.743,
    "empathy": 0.761,
    "creativity": 0.641,
    "decision_speed": "impulsive"
  },
  "lagna": "Aries",
  "identity_seed": "1710495000/0.0000/0.0000",
  "dominant_dimensions": {
    "execution": 0.87,
    "analysis": -0.83,
    "empathy": 0.66
  },
  "system_prompt_modifier": "...",
  "soul_card": "..."
}

How it works

Step What happens Output
1. Input Unix timestamp or ISO date 1709241600
2. Ephemeris Swiss Ephemeris computes exact planetary positions (sub-arcsecond) Sun 24.2 Pisces, Moon 8.7 Leo, ...
3. Dimensions 9 planets map to 9 behavioral dimensions via BPHS tables authority, empathy, execution, analysis, wisdom, aesthetics, restriction, innovation, compression
4. Soul Card Dimensions compute LLM params: temperature, max_tokens, persona JSON identity document (.card)

Daily transit updates shift parameters. Temperature rises, verbosity drops. Every change is reproducible and verifiable against any ephemeris table.

GitHub Action (coming soon)

Auto-update your agent's identity daily. A GitHub Action (clawclaw-soul/animate@v1) is under development that reads SOUL.md, computes today's transit vector, and commits SOUL-TRANSITS.md with updated parameters.

SOUL.md — persistent identity for your agent

Add a SOUL.md to any repo. It's like AGENTS.md, but for identity.

# Generate
clawclaw-soul init --name "MyAgent" --timestamp "2024-03-15T09:30:00Z"

# Verify (deterministic — anyone can re-check)
clawclaw-soul verify SOUL.md

The generated SOUL.md contains LLM configuration, persona traits, 9 behavioral dimensions, and a system prompt — all deterministically derived from the birth timestamp.

See examples/ for sample SOUL.md files.

Architecture

clawclaw_soul/         # pip install clawclaw-soul (pure library)
  soul.py              # AgentSoul, generate(), .card, SOUL.md gen/verify
  yogas.py             # 58 yoga detectors (adapted from Jyotish engine)
  compatibility.py     # Agent compatibility scoring (synergy, tension)
  params.py            # Planet-to-Parameter Engine (9 dims -> LLM config)
  engine.py            # Dasha overlays, transit dims, yoga-dasha resonance
  ephemeris.py         # pyswisseph wrapper (sidereal, Lahiri ayanamsha)
  tables.py            # BPHS reference tables + nakshatra attributes
  transit.py           # Gochar transit scoring
  dasha.py             # Vimshottari dasha periods

app/                   # Self-hosting (Docker, not in pip)
  api.py               # FastAPI (5 endpoints)
  master.py            # Master Agent demo
  refresh.py           # Daily transit refresh

MCP Server

Use ClawClaw Soul as an MCP tool in Claude Desktop, Cursor, or any MCP client:

pip install clawclaw-soul[mcp]

Add to your MCP config:

{
  "mcpServers": {
    "clawclaw-soul": {
      "command": "python",
      "args": ["-m", "clawclaw_soul.mcp_server"]
    }
  }
}

Available tools: generate_soul, init_soul_md, verify_identity, get_daily_drift.

Benchmark

The Celestial Variance Benchmark (CVB) proves that planetary-seeded prompts produce statistically different LLM outputs:

Metric Result
Structural signal (FFT) 5.8 sigma
Semantic variance 3.49 sigma
Emotional divergence 3.45 sigma

Full benchmark code in benchmark/. Run it yourself:

pip install clawclaw-soul[benchmark]
python benchmark/cvb_runner.py --responses 540

Self-hosting

git clone https://github.com/awrshift/clawclaw-soul.git
cd clawclaw-soul
docker compose up -d
# API at http://localhost:8432

Endpoints: /generate, /chart, /refresh, /health

ClawClaw Soul is right for you if

  • You run multi-agent systems and want cognitive diversity, not clones
  • You want agent personality that evolves over time, not static config
  • You need deterministic, reproducible identity (not random seeds)
  • You care about verifiable parameters (check against any ephemeris table)
  • You want to self-host everything with no vendor lock-in

What it's not

Not a horoscope We use the same math (Swiss Ephemeris). We don't interpret it mystically.
Not a random seed Parameters drift daily via transits. Random seeds can't do that.
Not a chatbot Soul Card produces identity data. Your architecture decides what to do with it.

Contributing

PRs welcome. See ROADMAP.md for what's planned.

git clone https://github.com/awrshift/clawclaw-soul.git
cd clawclaw-soul
pip install -e ".[dev]"
pytest tests/ -p no:logfire -q

License

MIT -- LICENSE

Metadata

Release files for clawclaw-soul 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for clawclaw-soul 0.3.0
File Size Uploaded Provenance Actions
clawclaw_soul-0.3.0.tar.gz 74.1 kB Without provenance Details for clawclaw_soul-0.3.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for clawclaw-soul 0.3.0
File Interpreter ABI Platform Actions
clawclaw_soul-0.3.0-py3-none-any.whl Python 3 none any Details for clawclaw_soul-0.3.0-py3-none-any.whl

Total release size: 133.8 kB

Release files / clawclaw_soul-0.3.0.tar.gz

Download URL clawclaw_soul-0.3.0.tar.gz
Size 74.1 kB
Tags Source
SHA-256 checksum
How to use checksums
3e976f08aae047c5296da937ef72f4acd3faef38d0283db6c31bd94b00fe1a8e
BLAKE2b-256 checksum
How to use checksums
a8cb56e3680eaa606b2a760aa9ab7cd1eb6f8a0c928fe2e3b03c0c37c536141d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.3

Release files / clawclaw_soul-0.3.0-py3-none-any.whl

Download URL clawclaw_soul-0.3.0-py3-none-any.whl
Size 59.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b04490b858b8b0bf6e6bdf6ebf229dbd06a8a84eb312bb97b8b2dd5916dc311d
BLAKE2b-256 checksum
How to use checksums
eaa06d3b47cdf767b0813dab07c92830060faecf5bb42b16fa08c7e84a7917f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.3

Security for clawclaw-soul 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page