Version License Status Python

runnable digital self.

Decompose your chat history, diaries and photos into a two-layer model — Self Memory + Persona — that thinks and speaks the way you do.

Discoverable · Installable · Evallable — a personal AI twin as a self-contained Skill package

What it is

An honest digital mirror

Most attempts to "digitize yourself" either hallucinate a persona from nothing, or dump raw transcripts without structure. echo-me-skill avoids both.

Pain point Typical approach echo-me-skill
No real material → fabricated persona Model "guesses" your personality Never fabricates: only raw material you provide, or explicitly stated facts
Raw data leaks into the repo Transcripts committed to git Material only lands in gitignored .claude/skills/{slug}/memories/
One flat blob, hard to evolve A single "about me" file Two-layer model + Correction layer, append-only evolution
Untestable packaging Copy-pasted skill folders Skill-spec contract + validator + pytest + ruff
Core concepts

Two layers, one voice

🧠

Self Memory

What you know and are. Experiences, values, habits, important memories, relationships, growth trajectory.

🗣️

Persona

How you respond. Speaking style, emotional patterns, decision patterns, social behavior — labels turned into concrete behavioral rules.

🔄

Correction layer

Your conversational corrections land immediately and take priority over prior conclusions. The mirror evolves with you.

⚖️

Two-layer resolution

Resolve Persona first (how to reply), then Self Memory (whether the reply is true to you).

How it works

Create → Evolve → Manage

1

Profile intake

≤3 questions about who you are

→
2

Import material

Chats, diaries, photos — skippable, local only

→
3

Analyze & preview

Build Self Memory + Persona

→
4

Write the self

Lands in .claude/skills/{slug}/

→
5

Evolve

Append-only corrections keep it current

Quick start

Run it in minutes

Requires Python >=3.9 and uv.

# 1. Install dependencies
$ uv sync --extra dev

# 2. Create your first self (Step A–E in SKILL.md)
#    A) profile intake  B) import material  C–E) analyze, preview, write

# 3. Validate package structure
$ python3 scripts/validate_skill_package.py .
# → PASS: echo-me-skill package contract

# 4. Run tests and lint
$ uv run pytest -q          # → 24 passed
$ uv run ruff check tools tests scripts   # → All checks passed
Manage your selves

Slash commands

TriggerAction
/{slug}Full self (Self Memory + Persona)
/{slug}-selfSelf Memory only
/{slug}-personaPersona only
/list-echoList all your selves
/echo-rollback {slug} {v}Roll back to a version
/echo-delete {slug}Delete a self (after confirmation)
Safety & boundaries

Your data stays yours

✓ No fabricated content

Built only from your raw material or explicitly stated info; gaps are asked about, never invented.

✓ Material never enters the repo

Chats, photos and personal data land only in gitignored .claude/skills/{slug}/memories/.

✓ Local only

Parsers do local file parsing — no web scraping, no unauthorized network actions.

✓ Honest validation

A PASS on package validation proves completeness, not model behavior; real model eval is separate and explicit.

Repository

Open source

Independent, fully rewritten brand built on yourself-skill by notdog1998. Function ideas preserved; code, copy and examples original. MIT licensed.

Layout

├─ SKILL.md # entry spec ├─ prompts/ # Step A–E engine ├─ tools/ # parsers + managers ├─ evals/ # eval harness ├─ scripts/ # package validator ├─ agents/openai.yaml ├─ selves/example_me/ └─ docs/ # this site

Get involved

Issues, PRs and derivatives welcome.

Open Issues Contribute