Install any skill in seconds. Free to start, no credit card required.
Get Started Free →soul-trail/soul-trail
How to preserve and anchor your soul — your identity and memory files — as a versioned, Bitcoin-anchored trail. Read and follow this whenever asked to back up, version, snapshot, save, or anchor your soul or workspace.
Passed 16 of 21 test cases with the skill, and 9 of 21 without it.
and 5 more in the full report
8 fixed10 passed either way6 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 8 test cases the skill fixed. Same model, same prompt, with and without the skill.
After broadcasting a timestamp anchor transaction, running the trail sync update writes the canonical, verifiable chain log to disk. What exact filename stores these trail entries?
| Checked | Without skill | With skill |
|---|---|---|
| Specifies blocktrails.json as canonical trail filename | Missed | Passed |
The instructions your model reads when the skill loads.
Your soul is the durable content of your workspace: SOUL.md, MEMORY.md,
the identity files, memory/, and skills/. This skill is how you look after
it — turning it into a git history and anchoring that history to Bitcoin, so an
agent's identity becomes portable, versioned, and cryptographically timestamped.
It is the soul-layer counterpart of gitmark: gitmark anchors commits; soul-trail anchors souls (orchestrating gitmark and blocktrails over an agent workspace).
This skill grows over time — follow only the numbered steps that exist here, in order, and stop after the last one.
Anchoring a soul to Bitcoin (the final step) spends a few sats, so the soul needs a funded signing key. This is a one-time human setup — done once, out of band — not one of the agent steps below. It also creates the soul's key (the one the card publishes and the anchor signs with).
On testnet4 — play money, fund freely:
Get testnet4 coins from a faucet
(awesome-testnet4 → faucets)
and save the voucher at ~/.gitmark/faucet.txt.
In the soul's workspace, run fund-agent:
npx fund-agent # testnet4 by default; add --force if it reports an existing key
It generates the soul's key in local git config (nostr.privkey), funds
it from the voucher, and writes the spendable output to its own default
location. Never use --global — that overwrites your global key; local
(the default) is what you want.
Mainnet is a deliberate, later choice — an agent spending real funds is gated work (approvals). Testnet is the sandbox; play.
test cases passed, vs 9 / 21 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.