Skip to content

proxysoul/soulstack

v1.4.4MIT

ProxySoul's agent stack: design, testing, marketing and performance skills, immune cells and working takeaways as rules.

Set it up

Point your agent at this repo and let it do the work. In Empryo, or any agent that can run commands:

Set up SoulStack for me from https://github.com/proxysoul/SoulStack and follow its AGENTS.md.

Or pick just the skills you want, for any agent, with the skills CLI:

npx skills add proxysoul/SoulStack

It lists the skills, asks which to install and for which agents. For Empryo, choose Universal (it installs into .agents/skills, which Empryo reads). Add -g for every project, -s ensoul to skip the picker, --list to only look.

Using GitHub Copilot CLI? SoulStack is also a Copilot plugin, with the skills and the takeaways as rules:

copilot plugin marketplace add proxysoul/SoulStack
copilot plugin install soulstack@soulstack

Or everything, with the setup script. It asks nothing and changes nothing without a backup:

  • downloads SoulStack to ~/dev/SoulStack (or updates it)
  • links the skills into ~/.agents/skills, and ~/.claude/skills if you use Claude Code
  • links the ten immune cells into Empryo, Claude Code, Copilot CLI and OpenCode
  • adds the takeaways to the global rules of every agent it finds: ~/.empryo/EMPRYO.md, ~/.claude/CLAUDE.md, ~/.codex/AGENTS.md, ~/.copilot/copilot-instructions.md, ~/.pi/agent/AGENTS.md, ~/.config/opencode/AGENTS.md, ~/.gemini/GEMINI.md. It follows CLAUDE_CONFIG_DIR, CODEX_HOME, COPILOT_HOME, PI_CODING_AGENT_DIR and GEMINI_CLI_HOME when you set them. Your own rules stay; SoulStack's part sits in a marked block that updates in place
  • skips anything Empryo-only when Empryo isn't installed
curl -fsSL https://raw.githubusercontent.com/proxysoul/SoulStack/main/scripts/setup.sh | sh
irm https://raw.githubusercontent.com/proxysoul/SoulStack/main/scripts/setup.ps1 | iex

Every file it changes is copied to <file>.bak-<time> first.

Staying up to date

Setup also adds a soulstack command (in ~/.local/bin on macOS and Linux, in your user apps folder on Windows):

soulstack check     # is a new version out? changes nothing
soulstack update    # get it, set everything up again, show what changed
soulstack remove    # take SoulStack out; your own rules stay

update pulls the latest SoulStack, refreshes the skills and the rules block in every agent, and lists what's new. If you changed files in your copy, it keeps them and tells you instead of overwriting. Without the command, running the one-liner again does the same. Copilot plugin users run copilot plugin update soulstack.

From a clone you can also pass:

macOS, LinuxWindowsDoes
--presets proxysoul,proxysoul-mcp-Presets proxysoul,proxysoul-mcpAlso add my Empryo presets (optional)
--check-CheckChange nothing, show what is installed
--remove-RemoveTake SoulStack out again; your own rules stay
--skills <folder>-Skills <folder>Link the skills somewhere else
--plain-PlainNo colour or animation (automatic for agents and pipes)

Best with Empryo

SoulStack comes from ProxySoul, the creator of Empryo. It works in Claude Code, Codex, Copilot CLI, pi, OpenCode and Gemini CLI, and goes further in Empryo:

In EmpryoWhat it changes
Rules reload liveEdits and soulstack update apply on the next message, no restart
The GenomeImmune cells ask the code map where a bug lands before they attack or judge it
project toolChecks run the same way for every agent: immune, immune:smoke
Background agentstcell-helper runs the other cells in parallel
MemoryConfirmed bugs, disproved claims and traps carry over to the next run
Browser and computer useCells drive web and desktop apps through their real front doors
RoutinesA nightly /routine patrols and wakes the lead on red
EMPRYO.md templateEmpryo fills it in from the Genome, writing only what the code can't show

What's inside

My Empryo setup

My global config as three presets in plugins/presets/:

PresetSets
proxysoulGPT-6 Sol as the main model, Astra for reviews and second opinions, Luna for grunt work and subagents; Undertow-style theme, desktop appearance, editor, agent features
proxysoul-trustedFull autonomy: yolo, auto-approve, every computer-use switch. Trusted machines only
proxysoul-mcpMCP servers; tokens come from environment variables, never the file

Add them with scripts/setup.sh --presets proxysoul,proxysoul-mcp, or for one launch with empryo --plugin <path>. After changing settings in Empryo, refresh them with bun scripts/export-config.ts: it drops machine-only state, moves risky switches into the trusted preset, and refuses to write anything that looks like a secret.