AGENT.md: REQUIRED T2 frontmatter per §2.1. manifest.yaml: REQUIRED governance: block per §2.2 — org=personal, no brand_master_ref (Steev is JP-scoped personal assistant). .env.example: created (HERMES_HOME, STEEV_LIB, CREDCTL, STEEV_VAULT). skills/steev-agent/jp-voice.md: stub placeholder w/ defaults (tone/cadence/ pronouns/filler-ban/honesty) + curated-samples slot + Plan B brand anti- pattern guard. Replace as JP provides voice samples. CLAUDE.md: site-map footer. skills/proton-tools/ left untracked (pre-existing, out of scope this pass). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3.2 KiB
3.2 KiB
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.dbis never committed — created byinstall.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
└── CONTRACT.md # Steev profile contract — tier S (this file wins)
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);.stignoreblocks.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)
Site map — where to find anything in cortex-os
Read these in order to ground any session:
| What | Where |
|---|---|
| Karpathy 4 rules | ~/.claude/CLAUDE.md (auto-inherited every session) |
| Workspace contract + repo map | ~/workspaces/hermes/CLAUDE.md |
| SOT library orientation | ~/workspaces/hermes/sot/README.md |
| Curator-generated SOT index | ~/workspaces/hermes/sot/INDEX.md |
| Profile catalog (5 profiles + tool disclosure + governance) | ~/workspaces/hermes/sot/06-REGISTRY/PROFILE-CATALOG.md |
| Profile distribution protocol (T1) | ~/workspaces/hermes/sot/03-PROTOCOLS/PROFILE-DISTRIBUTION-PROTOCOL.md |
| Frontmatter spec (T1) | ~/workspaces/hermes/sot/04-STANDARDS/FRONTMATTER-SPEC.md |
| SOT enforcement (pre-commit + curator + pre-push) | ~/workspaces/hermes/sot/04-STANDARDS/SOT-ENFORCEMENT.md |
| Living graph artifact | ~/workspaces/hermes/graph/umbrella.json (curator-maintained) |
| Living graph UI panel (planned) | /umbrella route in hermes-webui per sot/03-PROTOCOLS/CORTEX-OS-UMBRELLA-VIZ-PRD.md |
| This repo's CONTRACT.md | ./CONTRACT.md if present (T1 — wins over everything in this repo) |
If you're new to a session: read the workspace contract first, then this file, then the SOT orientation. Don't guess about cortex-os structure — anchor to these.