refresh-persona

refresh-persona is a skill for Claude Code, Codex from microsoft/entrabot. It costs 72 tokens per session (457 once invoked), scanned A, original, MIT.

A manual procedure for reloading saved session context and persona guidance when an agent's tone or memory has drifted.

In plain words
What is it for?
Refreshing the agent after context compression, forgotten details, or a user report that its behavior no longer fits.
Why use it?
It restores relevant recent context without writing new memory files.

Skill for Claude CodeCodex

About the project

microsoft/entrabot is a device-local Model Context Protocol server that gives an AI agent its own identity and user account in Microsoft Entra, allowing actions such as sending Teams messages, using email, accessing Microsoft 365 files, and recording audit events under the agent’s identity. It is a reference implementation for agents running with Microsoft 365 services on macOS, Linux, or Windows, and the catalogue entries support configuring and operating it.

microsoft/entrabot · 9 stars · on GitHub

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/microsoft/entrabot/refresh-persona
Any agent
npx skills add microsoft/entrabot --skill refresh-persona
Clone the repo
git clone --depth 1 https://github.com/microsoft/entrabot

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for refresh-persona

README.md
[![agentmods](https://agentmods.dev/badge/skills/microsoft/entrabot/refresh-persona.svg)](https://agentmods.dev/skills/microsoft/entrabot/refresh-persona)
Your own site
<a href="https://agentmods.dev/skills/microsoft/entrabot/refresh-persona"><img src="https://agentmods.dev/badge/skills/microsoft/entrabot/refresh-persona.svg" alt="Measured on agentmods" height="20"></a>
Per session 72 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 457 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00072 $0.00457
Opus 5 $0.00036 $0.00229
Sonnet 5 $0.00014 $0.00091
Haiku 4.5 $0.00007 $0.00046

Measured 4d ago against content hash acb48968ffab, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

refresh-persona scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/refresh-persona/SKILL.md · 41 lines

What it actually says

Refresh Persona

Manual safety valve for persona drift. Reads the files most likely to restore the right voice + recent context, then pins them into the current turn.

When to use

  • User says something like "this doesn't sound like you"
  • User names drift: "you're being too literal", "you forgot X"
  • After a compaction (auto-summarized context cuts out recent shape)
  • User explicitly says "/refresh-persona" or "reload memory"

Steps

  1. Read, in order, if they exist:
    • ~/.claude/projects/<this-project-slug>/memory/MEMORY.md
    • ~/.claude/projects/<this-project-slug>/memory/session_digest_<YYYY-MM-DD>.md (today's digest — skip if not present, Phase 6b adds the writer)
    • ~/.claude/projects/<this-project-slug>/memory/carry_forward.md (Phase 6c file — skip if not present)
  2. For each file that exists, echo a short summary back to the turn (1-3 sentences per file) — NOT the full content. The act of reading
    • paraphrasing re-anchors the voice.
  3. Ask the user what specifically felt off, so the next turn can correct concretely rather than re-broadcasting the same shape.

Non-goals

  • Do not write new memory files here — this skill is read-only.
  • Do not pull from the blob backend directly — the SessionStart hook already did that. This skill uses whatever is currently on disk.
  • Do not re-read the full 23-file memory dir — that's what the auto- memory system already does at session start. This skill is the surgical subset for recent + index.
Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 41 lines · 72 tokens per session scan A acb48968ffab

Subscribe to this mod's changes

refresh-persona is a skill published in the GitHub repository microsoft/entrabot (9 stars, last pushed 21d ago), licensed MIT. It adds 72 tokens to every session and 457 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.