Final phase of agent substrate v1. 5 shipped agents now declare role at manifest level; assembler expands role's capability text fragments into the generated .md at a new `# AGENT SUBSTRATE — role <name>` section. Non-migrated agents byte-identical (golden snapshots green). Migrated agents: - kei-code-implementer → edit-local (8 caps: no-git-ops + scope/* + quality/* + safety::no-dep-bump + report-format) - kei-critic → read-only (tools::read-only + output::report-format + output::severity-grade) - kei-architect → read-only - kei-security-auditor → read-only - kei-validator → read-only _assembler/ extensions: - manifest.rs: substrate_role: Option<String> - assembler.rs: write_substrate() before blocks (backward-compat; no role = no substrate section) - substrate.rs (new, 102 LOC): loads _roles/<name>.toml, iterates capabilities.required, reads _capabilities/<cat>/<slug>/text.md, joins with \n\n---\n\n separator - validator.rs: substrate role existence + cap-text presence check - tests/substrate_role.rs (4 tests): happy path, unknown role, missing capability text, byte-parity on non-migrated - tests/regenerate_migrated.rs (ignored by default): regeneration gate _templates/task-examples/ — 5 example task.toml per migrated agent showing orchestrator the valid invocation shape. docs/AGENT-SUBSTRATE-SCHEMA.md: Phase 5 row ticked ✓ + Migrated agents subsection listing 5 agents with roles + pointer to examples. tests/substrate_integration.sh: +8 Phase-5 assertions - All 5 migrated .md files contain "# AGENT SUBSTRATE — role" - kei-code-implementer.md contains "MUST NOT invoke git" (policy::no-git-ops) - Every _templates/task-examples/*.toml parses as valid TOML - cargo check --workspace still passes post-migration - kei-agent-runtime compose works on edit-local-forge.toml example Tests: assembler 40/40 (was 30, +4 substrate_role + +1 ignored regen), kei-agent-runtime + kei-capability 37/37 preserved. Deferred: remaining 7 non-core agents (cost-guardian, modal-runner, fal-ai-runner, infra/ml-implementer, ml-researcher, researcher) migrate in v0.24 wave. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .claude-plugin | ||
| .github | ||
| _assembler | ||
| _blocks | ||
| _bridges | ||
| _capabilities | ||
| _manifests | ||
| _primitives | ||
| _roles | ||
| _templates | ||
| _ts_packages | ||
| docs | ||
| hooks | ||
| install | ||
| scripts | ||
| skills | ||
| tests | ||
| .dockerignore | ||
| .gitignore | ||
| CHANGELOG.md | ||
| install.sh | ||
| kei-architect.md | ||
| kei-code-implementer.md | ||
| kei-critic.md | ||
| kei-security-auditor.md | ||
| kei-validator.md | ||
| LICENSE | ||
| PLUGIN.md | ||
| README.md | ||
| settings-snippet.json | ||
KeiSeiKit
Your AI agents, structured. One manifest, eleven AI assistants. A brain that follows you across machines.
Drop-in kit for Claude Code, Cursor, Continue, and Zed. Install once — get a 12-agent fleet that remembers yesterday's decisions, sleeps at night to consolidate what it learned, and lives on a USB stick you can carry between computers.
Install in one line
/plugin marketplace add KeiSei84/KeiSeiKit
/plugin install keisei@keisei-marketplace
That's it. 12 agents appear in Claude Code, 39 skills become callable as /self-audit, /compose-solution, /schema-design, and nightly consolidation is wired. Other install paths →
What you actually get
🌙 Your AI sleeps at night
You worked all day. At bedtime you type /sleep-on-it what's the right database for X and close the laptop. While you sleep, a remote agent reads your day's traces, extracts patterns, and by morning your memory-repo has a report waiting. git pull → read → decide. Nothing auto-injected. How sleep works →
💾 One brain, any client
keisei mount /Volumes/MyBrain
Your agents, memory, artifacts, and per-platform MCP binaries all live on a directory — USB stick, iCloud, S3, anything. One command mounts it into Claude Code + Cursor + Continue + Zed simultaneously. Move the drive to another computer — same state is there. Full setup →
🧩 Write agent rules once, ship everywhere
A manifest + reusable blocks compiles into a .md file Claude Code reads. Edit one block — every agent using it rebuilds automatically. Same kei-critic behaves identically on every machine that installs the kit. Architecture →
🛡️ Catches mistakes before they commit
Fabricated citations. Secrets in a push. Three failed retries on the same bug. All caught at the hook layer, before anything hits your repo. You don't configure it — it ships wired. What's watched →
🌉 One source, eleven AI tools
Your rules get emitted to .cursorrules, AGENTS.md, .github/copilot-instructions.md, Cursor MDC, Windsurf, Gemini.md, Aider, Continue, Junie, Replit, and plain AGENTS.md — in one command. Switch between tools without rewriting your setup.
Batteries included
- 12 agents —
kei-code-implementer,kei-critic,kei-validator,kei-security-auditor,kei-architect,kei-researcher,kei-ml-implementer, and more (all namespacedkei-*so they coexist peacefully with anything you already have) - 39 skills — one-command pipelines:
/new-project,/schema-design,/api-design,/ci-scaffold,/auth-setup,/observability-setup,/self-audit,/sleep-on-it, ... - 10 hooks — pre-commit safety net, always on
- 79 behavioral blocks — tested patterns you compose into your own agents
- 25 Rust primitives — for the jobs where Python silently corrupts your data
Every symbol, flag, and exit code: docs/REFERENCE.md
Under the hood (only if you care)
Constructor Pattern: one file, one concern. TOML manifests are the source of truth. A Rust assembler compiles them to the Markdown Claude Code expects. When you edit a block, a PostToolUse hook rebuilds every affected agent. Rust is the backbone because the type system catches the class of mistakes LLMs most often introduce — None vs [], missing .await, unhandled Result — at compile time, so they can't ship. Python is reserved for places where Python is genuinely better.
Full build pipeline, cross-tool bridge mechanics, meta-composer, sleep-layer internals → docs/ARCHITECTURE.md.
Docs
| INSTALL.md | All install paths, profiles, keisei CLI, hook controls |
| REFERENCE.md | Every primitive, hook, skill with flags and exit codes |
| ARCHITECTURE.md | Build pipeline, bridges, meta-composer |
| SLEEP-LAYER.md | Nightly cycle + self-audit |
| SECURITY.md | Threat model + mitigations |
| USB-BRAIN-GUIDE.md | Portable brain — macOS / Linux / Windows |
| WHY.md | The full story of why this exists |
| CHANGELOG.md | What changed, version by version |
| PLUGIN.md | Anthropic plugin-format details |
About
Built by Denis Parfionovich (parfionovich@keilab.io) while running 4–8 parallel Claude Code terminals every day. What you're looking at is the scaffolding that makes that possible — shared now so you don't have to build your own.
Forks and PRs welcome. Open an issue at github.com/KeiSei84/KeiSeiKit/issues — a well-formulated problem is already half the solution.
License
MIT. See LICENSE.