A couple days ago I released gurupanguji/simulacrum. It's a way to share persistent agent memory that compounds on itself while keeping it local. This is part one of a series where I try to describe both the origin behind the idea as well as details.
The WhatsApp notification pings have finally gone silent. My phone sits on the desk, a quiet slab after an hour of writing three posts. Three blog posts in a single day is not a feat of willpower. It is the result of a system that is (hopefully) starting to compound.
My agents used to be strangers every time I opened a terminal. Now they are a persistent extension of my own skepticism. The hypothesis that a compounding personal context could change the way I work is building some additional reps. As a fan of the open source ethos, I want to share the scaffolding of the work that makes it possible.
The Scaffolding: Building the Persistent Memory
I start in the home directory. This is the root of the digital nervous system. I create a hidden folder to house everything that matters.
mkdir ~/.agents
Then I populate it with "skills." These are the functional primitives that allow the agents to do more than just chat. I spent an afternoon browsing the awesome-llm-skills repository, picking the tools that fit my workflow. Based on existing skills, I developed my own blog-coauthoring, humanizer, and personal-context. Each one is a specialized capability I can invoke at will as well as setup the agents to default invoke. For example, I always set personal-context to be loaded first.
The real heart of the system is the personal directory. This is where I store the "earned frame" of my life. I create three documents: about-me.md, my-voice.md, and working-style.md. I seed these with the grit of my actual process. My skepticism, my preference for short sentences, and my mandatory branching workflow all live here.
mkdir -p ~/.agents/personal
touch ~/.agents/personal/about-me.md
touch ~/.agents/personal/my-voice.md
touch ~/.agents/personal/working-style.md
I also need to give the agents their marching orders. I create AGENTS.md and GEMINI.md inside ~/.agents. These files contain the "Memories" that ensure every session starts with perfect calibration. They mandate a "Compounding Protocol" that forces the system to learn from every interaction.
## Shared memories
- Always pull personal-context using the 'personal-context' skill
- Mandatory Compounding Protocol: At the end of every interaction, synthesize what you have learned and propose updates to the personal directory.
Once the repository is ready, I install the tools. I use Homebrew to get codex and gemini on my machine. But I do not want them using their default, fragmented configurations. I remove the standard AGENTS.md and GEMINI.md from their respective folders and replace them with symlinks to my central ~/.agents directory.
ln -s ~/.agents/AGENTS.md ~/.codex/AGENTS.md
ln -s ~/.agents/GEMINI.md ~/.gemini/GEMINI.md
Now, every time I open a terminal, my agents are looking at the same source of truth. I test the setup by asking a simple question: "What are your skills, and do you know who I am?" When they respond with my specific voice and a list of my curated tools, I know the bridge is built.
The Resolution: The Shared Sovereign Workshop
The hypothesis is proving true. Three posts in a single afternoon is positive empirical evidence I needed. My agents are can be magnifying glasses for my own intent. I am no longer fighting the token limit of my own memory or the tiredness that comes with mixing the drafting and the editing phases.
I am sharing this scaffolding because I want to see what others build when they stop repeating themselves. The open-source spirit is about more than just code. It is about the "earned frame" of our creative lives. I hope this guide helps you build a system that finally remembers who you are.
I am excited about this shared nervous system that stays awake even when I switch machines or switch context. The results aren't perfect. It often treats exceptions as the norm. Tends to reuse some language across its narratives, which do require an intervention. It might be that this can never produce non stilted prose. Will this compounding context eventually lead to a hazy simulacrum of my own voice? I do not know yet. All I can do is keep working at it and sharing the results. It is a quiet power to know that my tools are as resilient as my ideas, even if the destination remains unproven.