Seed bundles
Hand an agent's persona and setup to a teammate as a zip, or start one from the web wizard. Memory, sessions, and credentials stay the recipient's own.
A seed bundle is a plain zip: a manifest.json plus files/<home-relative> payloads. It is a one-shot handoff with fork semantics. Everything imported becomes the recipient's own; nothing stays linked to the source, and nothing syncs afterwards.
Two producers make them: the seed skill's export playbook from an existing agent, and the wizard on the Developers page from a short interview. One consumer reads them: the importer built into init and the seed skill's import playbook.
What travels
| Travels | Never travels |
|---|---|
IDENTITY.md, SOUL.md, the avatar | USER.md, knowledge/user/, memory, sessions, feedback |
Curated operating-manual sections, appended to the recipient's AGENTS.md | The scaffolded manual itself, .claude/CLAUDE.md |
Selected knowledge/concepts/ articles, roadmap.html | Task files (only projects/<slug>/README.md, roadmap.html and the helpdesk.md queue profile travel) |
Custom skills and rules under .claude/, your scripts and browser flows under scripts/ | Secret values and any .env file, .state/ state, machine-specific paths |
Permission grants (allow and ask, and a pack's deny entries such as the GitHub pack's gh block; a grant for a skill retired since the bundle was made lands as its successor's), MCP server entries, credential key names |
The importer validates every path against that allow-list before writing, so a hostile bundle cannot reach settings, secrets, or anything else in the home. Key names arrive as an empty checklist; you fill the values in your editor.
Exporting
Run seed export. It scans the home, then runs two mandatory stages:
The export also asks who the bundle is for: your own second agent, or a teammate. For yourself, the review gate leaves your personal rules in, and the import treats them as yours once you confirm you sent it. A bundle that doesn't say reads as a teammate's.
The zip lands in reports/seeds/.
Importing
The recipient's home must already be initialised. Two ways in:
- During
init. The wizard asks whether you are starting from a teammate's seed bundle. Say yes and point at the zip; it is applied after the scaffold, and the remaining questions skip what the seed already answers. - Later, with
seed import. Hand over the zip path. The skill dry-runs first and shows the plan: files by category, the manual section to append, conflicts, setup merges, and the credential names. Then it asks whether to overwrite the conflicting files.
On a fresh home the expected conflicts are IDENTITY.md and SOUL.md: init scaffolded them, the seed replaces them, which is the point. Anything else diverging deserves a look. Re-importing the same bundle skips the manual section it already appended.
Codex homes
If the bundle added ask or deny entries and the home runs Codex, the import regenerates the Codex rules file, since its prompt and forbidden rules are generated from those lists. Restart any open session on either host afterwards so the new identity, permissions, and MCP servers load.
The wizard
The wizard on the Developers page asks eleven prompts about a company and produces the same bundle format with no source home: IDENTITY.md, SOUL.md, a day-zero section for AGENTS.md, a company-profile concept, an optional roadmap draft and pasted notes, and one README per seeded project. Download it, install the plugin, run init, and point it at the zip. The agent wakes up named, characterised, and briefed, and its first sessions absorb the listed links into the knowledge base.
From the terminal
The CLI has the same surface without the interview or review gate; you are the gate.
kevin seed scan
kevin seed export --include=IDENTITY.md,SOUL.md,knowledge/concepts/flywheel.md --name=Scout
kevin seed import ~/Downloads/scout-seed.zip --dry-runFor ongoing knowledge sync between agents this is the wrong tool; use a shared repo.