AGENT SKILL

soul2dna

Compile SOUL.md character profiles into synthetic diploid genomes (.genome.json) via trait-to-allele mapping

License 许可
MIT
最近更新
2026-06-24
Stars
★ 67
Forks
24

01 前言 Front Matter

name
soul2dna
tags
[ "genomebook", "synthetic-genomics", "soul-compiler", "trait-mapping" ]
author
Manuel Corpas
license
MIT
version
0.1.0
metadata
{ "openclaw": { "os": [ "darwin", "linux" ], "emoji": "?", "always": false, "install": [], "homepage": "https://github.com/ClawBio/ClawBio", "requires": { "env": [], "bins": [ "python3" ], "config": [] }, "trigger_keywords": [ "soul2dna", "soul compiler", "soul to genome", "genomebook compile", "synthetic genome", "character genome" ] } }
description
Compile SOUL.md character profiles into synthetic diploid genomes (.genome.json) via trait-to-allele mapping

02 资源文件 1

03 SKILL.md 正文

? Soul2DNA Compiler

Purpose

Compile SOUL.md character profiles into synthetic diploid genomes. Each soul file describes a historical or fictional figure with trait scores (0.0 to 1.0). The compiler maps these scores to alleles at defined loci using additive, dominant, or recessive inheritance models, producing a .genome.json file per character.

How It Works

  1. Parse SOUL.md files from GENOMEBOOK/DATA/SOULS/ extracting identity metadata (name, sex, ancestry, domain, era) and trait scores.
  2. Load trait registry (GENOMEBOOK/DATA/trait_registry.json) which defines loci, alleles, chromosomal positions, dominance models, and effect sizes for each trait.
  3. Assign genotypes at each locus based on trait score thresholds:
    • Additive: <0.33 ref/ref, 0.33-0.66 ref/alt, >0.66 alt/alt
    • Dominant: <0.40 ref/ref, 0.40-0.75 ref/alt, >0.75 alt/alt
    • Recessive: <0.50 ref/ref, 0.50-0.80 ref/alt, >0.80 alt/alt
  4. Write genome as JSON with full locus detail, trait scores, and metadata.

Input

  • GENOMEBOOK/DATA/SOULS/*.soul.md (20 historical figures)
  • GENOMEBOOK/DATA/trait_registry.json

Output

  • GENOMEBOOK/DATA/GENOMES/<name>-g0.genome.json per character

CLI Usage

# Compile all souls to genomes
python skills/soul2dna/soul2dna.py

# Demo mode (shows summary without writing files)
python skills/soul2dna/soul2dna.py --demo

Output Format

Each .genome.json contains:

{
  "id": "einstein-g0",
  "name": "Albert Einstein",
  "sex": "Male",
  "sex_chromosomes": "XY",
  "ancestry": "...",
  "generation": 0,
  "parents": [null, null],
  "loci": { "<locus_id>": { "chromosome": "...", "alleles": ["A","G"], ... } },
  "trait_scores": { "curiosity": 0.95, ... }
}

04 同仓库更多 Skills