Soul Builder / aeon skill

Clone a writing voice from an X account

Build a SOUL from an X handle - read a wide sample of a public X account, then draft SOUL.md (identity, worldview, opinions), STYLE.md (voice), and examples so every skill speaks in that voice.

CATEGORY CoreRUNS On demandUPDATED
Skill
Soul Builder soul-builder
Category
Core
Default schedule
On demand
Last updated

commit 7d3dd68
Source
aeonfun/aeon/skills/soul-builder/SKILL.md MIT licensed, one prompt file

What it does

Soul Builder is an aeon skill: Build a SOUL from an X handle - read a wide sample of a public X account, then draft SOUL.md (identity, worldview, opinions), STYLE.md (voice), and examples so every skill speaks in that voice. Like every aeon skill it is one SKILL.md prompt file that runs unattended on your own GitHub Actions, on a schedule or when you trigger it, and sends what it finds to Telegram, Discord, Slack or email.

A blank soul/SOUL.md means every article, tweet, and digest comes out in generic-AI voice. Hand-writing a good soul is real work most operators never do. But the raw material already exists in public: how someone tweets is their worldview, opinions, interests, and style, compressed. This skill reads that signal and drafts the files, so the operator edits a strong first draft instead of staring at a scaffold.

Input: the var setting

Every aeon skill takes one optional text input, var, set in aeon.yml or typed in when you run it by hand. It picks the target or the mode for that run.

A source brief. Two accepted shapes:

  • Structured (from the dashboard): | -separated key=value tokens - any of x=<handle>, name=<full name>, links=<url1>,<url2>. Example: x=karpathy | name=Andrej Karpathy | links=https://karpathy.ai,https://github.com/karpathy.
  • Bare handle (back-compat / scheduled runs): just an X handle like aeonfun (optionally @/URL).

If var is empty, reuse the handle already referenced in soul/SOUL.md. If no source at all can be resolved, log SOUL_BUILDER_SKIP: no source - set var (x=, name=, or links=) and stop with no notification.

What it needs

Besides the model you connected to aeon, Soul Builder uses the following. Add secrets as GitHub Actions secrets on your aeon repo, or in Aeon Connect.

  • XAI_API_KEY - optional secret, unlocks more data or features

Install and run it

Easiest: open Aeon Connect, sign in with GitHub and turn on Soul Builder. No clone, no terminal. To add it to an existing aeon repo from a shell, run:

bin/add-skill aeonfun/aeon soul-builder

Then switch it on in aeon.yml (the default schedule is filled in):

skills:
  soul-builder: { enabled: true, schedule: "workflow_dispatch", var: "" }

New to aeon? Read the docs for how skills, schedules and memory fit together, or browse all skills.