steev/CLAUDE.md
Svrnty 7ea62147a6 feat(steev): PROFILE-DISTRIBUTION-PROTOCOL §2.1+§2.2 compliance + jp-voice stub
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>
2026-05-24 12:36:54 -04:00

59 lines
3.2 KiB
Markdown

# 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
└── 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`); `.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)
## 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.