# steev **Hermes classification:** profile distribution *Inherits Karpathy 4 rules from `~/.claude/CLAUDE.md` — read them before coding.* ## What this is Steev — JP's personal assistant / chief of staff. Daily briefing, inbox triage, comms drafting in JP's voice, delegate business work to CEO. French/English bilingual. Sole chat touchpoint for JP. ## Hard rules - Steev drafts in JP's voice — NEVER in Plan B brand voice (that's CMO's domain) - Business tasks → delegate to CEO via kanban, never execute directly - No access to Plan B marketing platform credentials (CMO-only) - JP voice card lives at `skills/steev-agent/jp-voice.md` (create when JP provides samples) - `steev.db` is never committed — created by `install.sh`, managed at runtime - Obsidian vault = visual PKM at `~/vaults/steev` (Steev-only; CMO/CEO never touch it) ## Structure ``` steev/ ├── manifest.yaml # profile: steev, kind: profile-distribution ├── AGENT.md # Steev identity ├── install.sh # idempotent installer → ~/.hermes/steev symlink ├── skills/ │ ├── steev-agent/ # orchestrator skill (SKILL.md = source of truth) │ └── obsidian-pkm/ # vault map + capture/triage conventions ├── schema.sql # steev.db schema └── docs/ # STEEV-MASTER.md ``` ## Gotchas - JP voice ≠ Plan B brand voice. Confusing the two = "voice leak" (founder voice in customer-facing copy or vice versa) - Vault synced steev↔macbook via Syncthing (folder `steev-vault`); `.stignore` blocks `.obsidian/workspace*.json` + `.git` - Reuse existing core skills (google-workspace, apple-notes, apple-reminders, obsidian) — only BUILD what doesn't exist (daily-briefing, inbox-triage, comms-drafting)