Celestial mechanics for synthetic souls.
Open-source identity engine for AI agents. Deterministic personality from ephemeris data.
Quickstart · Docs · GitHub Action · Benchmark
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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.