Steev profile distribution — JP personal assistant
Closes the largest set of PROFILE-DISTRIBUTION-PROTOCOL §7 readiness gaps
surfaced in the 2026-05-23 audit. Profile goes from 4/8 to expected 8/8
once skills/proton-tools/ is committed.
New files:
credbridge.sh Personal-assistant variant of the shared-core
credbridge pattern. Three credentials in scope:
google-workspace (Gmail/Calendar/Contacts),
proton-bridge (himalaya IMAP/SMTP), perplexity
(raw WebSearch). Plan B marketing platforms
explicitly OUT OF SCOPE per CLAUDE.md hard rule.
validate_access.sh Emits PASS/BLOCKED/FAIL JSON line per credential.
Sourceable from install.sh and standalone. Exit
code always 0; status is in the JSON.
distribution.yaml Native Hermes install contract (`hermes profile
install` reads this). Mirrors cmo/ceo pattern.
Documents personal/agnostic naming exception
per FRAMEWORK §6.1 — no org suffix because there
is exactly one principal.
cron/steev-daily-briefing.json.template
06:30 daily briefing skeleton, ships disabled.
Aggregates calendar + flagged emails + due tasks
+ carried items + brief news scan into a single
digest in JP's voice. NEVER auto-sends, NEVER
touches business comms (CEO → CMO surface).
manifest.yaml fully rewritten:
- Added `contract: CONTRACT.md` pointer (was missing)
- Added inline comment explaining intentional `org:` omission
- Declared skills/proton-tools (on disk via JP's untracked WIP; declared
here so manifest matches disk truth once JP commits it)
- Added `lib:` block (credbridge.sh + validate_access.sh)
- Added `expected_external_skills:` informational list (google-workspace,
apple-*, obsidian, himalaya, imessage, perplexity) — these come from
Hermes' global skills tree per CLAUDE.md "reuse existing core skills"
- Added `optional_tools:` block (4 MCP servers: proton-calendar/-email/
-contacts, perplexity)
- Added `credentials:` block listing the 3 creds + resolution path
- Promoted `cron:` from empty list to a single steev-daily-briefing
entry (disabled_on_install: true)
- Added `sovereignty:` block (qwen3.6-35b-a3b on DGX Spark)
CONTRACT.md frontmatter migrated from legacy `tier: S` to T1 per
FRONTMATTER-SPEC. Added required fields (name, last_reviewed,
description, depends_on).
skills/proton-tools/ left untracked — that's JP's WIP, not mine to
commit.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
||
|---|---|---|
| cron | ||
| skills/steev-agent | ||
| .gitignore | ||
| AGENT.md | ||
| CLAUDE.md | ||
| CONTRACT.md | ||
| credbridge.sh | ||
| distribution.yaml | ||
| install.sh | ||
| manifest.yaml | ||
| README.md | ||
| schema.sql | ||
| validate_access.sh | ||
Steev — Hermes profile distribution
JP's personal assistant / chief of staff. Daily briefing, inbox triage, comms in JP's voice, business delegation to CEO. French/English bilingual.
- Identity:
AGENT.md— role, mission, boundaries. - Full reference (source of truth):
docs/STEEV-MASTER.md.
Structure
steev/
├── AGENT.md identity: role, mission, boundaries
├── manifest.yaml machine-readable install contract
├── install.sh idempotent wiring → ~/.hermes/steev symlink
├── schema.sql steev.db schema (never committed)
├── skills/
│ └── steev-agent/ orchestrator: briefing, triage, drafting, delegation
└── docs/
└── STEEV-MASTER.md source of truth
Install
git clone https://git.openharbor.io/hermes/steev && cd steev
./install.sh # symlinks repo → ~/.hermes/steev (idempotent)
hermes -p steev skills list | grep steev-agent
Default install symlinks ~/.hermes/steev → this repo. Use ./install.sh --copy on machines that shouldn't run the checkout as the live dir.
Key invariants
- JP's voice ≠ Plan B brand voice (add
skills/steev-agent/jp-voice.mdto scope it) - Business tasks → CEO via kanban, never execute directly
- No Plan B marketing credentials (WooCommerce, Mailchimp, Meta, etc.)
- Steev drafts, JP sends — no autonomous message delivery