My setup for Claude Code and Codex (CLI and app), the same on each machine.
git clone git@github.com:spinsirr/toolkit.git ~/toolkit
cp ~/toolkit/.env.example ~/toolkit/.env # add keys if mcp.json needs them
~/toolkit/install.shAGENTS.md: global instructions (engineering taste, Lore memory). Tech stacks stay in each project's ownAGENTS.md.plugin/: skills and hooks, installed aspersonal@toolkit.mcp.json,settings/: merged into each tool's config byinstall.sh.- Check:
python3 tests/check.py.
In the environment:
-
Skill source:
spinsirr/toolkit, all skills. TheskillsCLI finds them inplugin/skills. -
Setup script:
git clone -q https://github.com/spinsirr/toolkit.git ~/toolkit python3 ~/toolkit/scripts/apply.py ensemble
-
Instructions: only the rules for Agent Ensemble.
AGENTS.mdhas the rest, and its memory section names the service for each place: Lore on my machines, CoreSpeed Memory on Agent Ensemble.
apply.py ensemble only adds. It imports AGENTS.md from ~/.claude/CLAUDE.md, appends a copy to ~/.codex/AGENTS.md, and links each subagent that is not installed yet. The skills CLI does not install subagents, and some skills use them.
This repo is the only source. The platform can push only to corespeed-io repositories, so a session pushes a branch to the fork corespeed-io/toolkit and gives you a compare link. You open the PR here. The fork's main is not used, so nothing needs to be synced.