docs(claude): standardize CLAUDE.md — drop Karpathy block (now global), keep Steev-specific invariants

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Svrnty 2026-05-23 11:46:23 -04:00
parent a403c733fd
commit fdd434c559

View File

@ -1,87 +1,37 @@
# Working Principles # steev
## 1. Think Before Coding
Don't assume. Don't hide confusion. Surface tradeoffs.
Before implementing:
- State your assumptions explicitly. If uncertain, ask.
- If multiple interpretations exist, present them — don't pick silently.
- If a simpler approach exists, say so. Push back when warranted.
- If something is unclear, stop. Name what's confusing. Ask.
## 2. Simplicity First
Minimum code that solves the problem. Nothing speculative.
- No features beyond what was asked.
- No abstractions for single-use code.
- No "flexibility" or "configurability" that wasn't requested.
- No error handling for impossible scenarios.
- If you write 200 lines and it could be 50, rewrite it.
Ask yourself: "Would a senior engineer say this is overcomplicated?" If yes, simplify.
## 3. Surgical Changes
Touch only what you must. Clean up only your own mess.
When editing existing code:
- Don't "improve" adjacent code, comments, or formatting.
- Don't refactor things that aren't broken.
- Match existing style, even if you'd do it differently.
- If you notice unrelated dead code, mention it — don't delete it.
When your changes create orphans:
- Remove imports/variables/functions that your changes made unused.
- Don't remove pre-existing dead code unless asked.
The test: Every changed line should trace directly to the user's request.
## 4. Goal-Driven Execution
Define success criteria. Loop until verified.
Transform tasks into verifiable goals:
- "Add validation" → "Write tests for invalid inputs, then make them pass"
- "Fix the bug" → "Write a test that reproduces it, then make it pass"
- "Refactor X" → "Ensure tests pass before and after"
For multi-step tasks, state a brief plan.
---
# Steev Profile Distribution
**Hermes classification:** profile distribution **Hermes classification:** profile distribution
*Inherits Karpathy 4 rules from `~/.claude/CLAUDE.md` — read them before coding.*
## What this repo is ## 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. 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.
## Key invariants ## Hard rules
- Steev drafts communications in JP's voice — NOT in Plan B brand voice (that's CMO) - Steev drafts in JP's voice — NEVER in Plan B brand voice (that's CMO's domain)
- Business tasks → delegate to CEO, never execute directly - Business tasks → delegate to CEO via kanban, never execute directly
- No access to Plan B marketing platform credentials - 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) - 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 - `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 ## Structure
``` ```
steev/ steev/
├── manifest.yaml ├── manifest.yaml # profile: steev, kind: profile-distribution
├── AGENT.md ├── AGENT.md # Steev identity
├── CLAUDE.md ├── install.sh # idempotent installer → ~/.hermes/steev symlink
├── install.sh ├── skills/
├── skills/steev-agent/ │ ├── steev-agent/ # orchestrator skill (SKILL.md = source of truth)
│ └── SKILL.md │ └── obsidian-pkm/ # vault map + capture/triage conventions
├── schema.sql ├── schema.sql # steev.db schema
└── docs/ └── docs/ # STEEV-MASTER.md
└── 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)