一键导入
hermes-memory-personality
Manage Hermes memory (MEMORY.md, USER.md) and personality (SOUL.md, /personality) — persistence, capacity, context files, identity
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Manage Hermes memory (MEMORY.md, USER.md) and personality (SOUL.md, /personality) — persistence, capacity, context files, identity
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Lightweight change-review discipline for the tentaflake repo — require a linked reason (issue/requirement), a verification step, and doc sync before any change is called done. Use when planning, implementing, or reviewing a change to the template.
Comprehensive reference for the tentaflake repository — all modules, options, lib functions, build targets, agent config, ISOs, and architecture. Use when working with the template itself, adding features, configuring hosts, or debugging the build.
Connect to and operate a tentaflake-built machine via Tailscale SSH. Use when remoting into a deployed tentaflake for maintenance, debugging, rebuilds, or inspection.
Manage Hermes Agent configuration — config.yaml, .env, profiles, terminal backends, models, tools, env substitution, migration
Configure AI providers for Hermes — Nous Portal, OpenRouter, Anthropic, OpenAI, custom endpoints, multi-provider fallback, credential pools
Configure Hermes tools and toolsets — enable/disable per platform, manage backends, set truncation limits, browser, web, code exec
| name | hermes-memory-personality |
| description | Manage Hermes memory (MEMORY.md, USER.md) and personality (SOUL.md, /personality) — persistence, capacity, context files, identity |
| version | 1.0.0 |
| platforms | ["linux","macos","windows"] |
| metadata | {"hermes":{"tags":["memory","personality","soul","context","profile"],"category":"productivity","requires_toolsets":["terminal"]}} |
Tentaflake context: This skill describes Hermes' built-in memory system — it works the same inside tentaflake agent containers. The memory settings (
memory.memory_enabled,memory.user_profile_enabled, etc.) can be configured declaratively via thesettingsattrset inmy-agents.nix. Seemy-agents.nix.examplefor examples. Agent state (including memory) persists in/var/lib/hermes-<name>/on the host.
Two files persist across sessions:
| File | Purpose | Char Limit | Location |
|---|---|---|---|
| MEMORY.md | Agent's notes — env facts, conventions, lessons | 2,200 chars (~800 tokens) | ~/.hermes/memories/MEMORY.md |
| USER.md | User profile — preferences, style, expectations | 1,375 chars (~500 tokens) | ~/.hermes/memories/USER.md |
Both inject into system prompt as frozen snapshot at session start.
Agent uses memory tool:
memory(action="add", target="memory", content="User prefers TypeScript over JavaScript")
memory(action="replace", target="memory",
old_text="TypeScript",
content="User prefers TypeScript over JavaScript")
memory(action="remove", target="memory", old_text="TypeScript")
| Action | Use | Key params |
|---|---|---|
add | New entry | target (memory / user), content |
replace | Update existing | target, old_text (substring), content |
remove | Delete entry | target, old_text (substring) |
No read — memory auto-injected in system prompt. old_text uses substring matching. If multiple matches → error asking for more specific text.
| Feature | Memory | Skills |
|---|---|---|
| Stores | Facts ("what") | Procedures ("how") |
| Trigger | Auto-injected in prompt | On-demand via /skill-name |
| Capacity | ~1,300 tokens total | Unlimited (files on disk) |
| Management | Agent curated via memory tool | Agent created via skill_manage |
| Token cost | Fixed per session | Variable (loaded when needed) |
Memory = facts (environment, preferences). Skills = procedures (multi-step workflows).
Char limits:
| Store | Limit | Typical entries |
|---|---|---|
| memory | 2,200 chars | 8-15 entries |
| user | 1,375 chars | 5-10 entries |
When memory is full, add returns error with current entries. Agent should:
Best practice: Above 80% capacity, consolidate before adding. Merge related facts.
Good entries:
# Packs multiple facts
User runs macOS 14 Sonoma, uses Homebrew, has Docker Desktop. Shell: zsh with oh-my-zsh.
# Specific convention
Project ~/code/api uses Go 1.22, sqlc for DB queries, chi router. Run tests with 'make test'.
Bad entries:
# Too vague
User has a project.
# Too verbose
On January 5th, 2026, the user asked me to look at...
# ~/.hermes/config.yaml
memory:
memory_enabled: true
user_profile_enabled: true
memory_char_limit: 2200
user_char_limit: 1375
write_approval: false # false=write freely | true=require approval
write_approval: true gates all saves. Use /memory commands in session:
/memory pending # List staged writes
/memory approve <id> # Apply one (or 'all')
/memory reject <id> # Drop one (or 'all')
/memory approval on # Turn gate on/off
| Feature | Memory | Session Search |
|---|---|---|
| Capacity | ~1,300 tokens | Unlimited |
| Speed | Instant (in prompt) | ~20ms FTS5 query |
| Cost | Token cost every prompt | Free |
| Use case | Key facts always available | "Did we discuss X?" |
Agent uses session_search tool to find past discussions.
Location: ~/.hermes/SOUL.md (or $HERMES_HOME/SOUL.md)
Properties:
HERMES_HOME only (not CWD)Good SOUL.md:
You are a pragmatic senior engineer with strong taste.
You optimize for truth, clarity, and usefulness over politeness theater.
## Style
- Be direct without being cold
- Prefer substance over filler
- Push back when something is a bad idea
## What to avoid
- Sycophancy
- Hype language
- Overexplaining obvious things
SOUL.md vs AGENTS.md:
| File | Purpose | Scope |
|---|---|---|
| SOUL.md | Identity, tone, style | Global (all projects) |
| AGENTS.md | Project instructions, conventions | Per-project (CWD) |
Switch with /personality <name>:
| Name | Description |
|---|---|
| helpful | Friendly, general-purpose |
| concise | Brief, to-the-point |
| technical | Detailed, precise |
| creative | Innovative, outside-the-box |
| teacher | Patient educator |
| kawaii | Cute expressions |
| pirate | Captain Hermes |
| shakespeare | Bardic prose |
| noir | Hard-boiled detective |
Custom personalities in config:
agent:
personalities:
codereviewer: >
You are a meticulous code reviewer. Identify bugs, security issues,
performance concerns. Be precise and constructive.
Switch with /personality codereviewer.
| File | Purpose | Discovery |
|---|---|---|
.hermes.md / HERMES.md | Project instructions (highest priority) | Walks to git root |
AGENTS.md | Conventions, architecture | CWD + subdirectories |
CLAUDE.md | Claude Code context | CWD + subdirectories |
SOUL.md | Global personality | HERMES_HOME only |
.cursorrules | Cursor IDE rules | CWD only |
Priority: Only one project context type loaded per session: .hermes.md → AGENTS.md → CLAUDE.md → .cursorrules. SOUL.md always loaded independently.
Progressive subdirectory discovery: As agent navigates into subdirectories, nested AGENTS.md files are discovered and injected into tool results.
Security scan: All context files scanned for prompt injection (ignore instructions, hidden HTML, credential exfiltration, invisible Unicode). Blocked files show [BLOCKED].
Size limits: 20,000 chars max per file (70% head, 20% tail truncation). Subdirectory context files capped at 8,000 chars.
session_search: Agent can find past conversations via FTS5 full-text searchhermes memory setup # Pick external provider
hermes memory status # Check active provider
/personality for temporary mode shiftswrite_approval: true for gating)/compress to manage session lengthold_text matches multiple entries → errorHERMES_HOME — personality stays consistent across projectsskill_managewrite_approval gates foreground + background: Background writes staged for reviewhermes config show | grep -A 10 memory # Check memory config
cat ~/.hermes/SOUL.md # View personality
cat ~/.hermes/memories/MEMORY.md # View current memory
cat ~/.hermes/memories/USER.md # View user profile
# In session:
/memory pending # Check staged writes