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.
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.
npx agentmods add skills/microsoft/entrabot/refresh-personanpx skills add microsoft/entrabot --skill refresh-personagit clone --depth 1 https://github.com/microsoft/entrabotWrote 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.
[](https://agentmods.dev/skills/microsoft/entrabot/refresh-persona)<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>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.
| Model | Per session | Once 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 |
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.
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
- 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)
- 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.
- 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.
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.
- 4d ago First seen · 41 lines · 72 tokens per session scan A acb48968ffab
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.
Other skills, from other repositories
tiered-memory
Three-tier agent memory model (hot/cold/wiki) for context reduction per spawn.
godot-optimization
Use when optimizing Godot games — profiler, draw calls, physics tuning, memory management, and common bottlenecks.
init-workspace-documentation
Skill "init-workspace-documentation" from griddynamics/rosetta, covering agent memory.md, agent memory, preventive rules, what worked and what failed.
memorix-memory
Use when prior workspace context, past decisions, solved bugs, handoff state, or durable project knowledge would help a coding task.
memorix
Use when Claude Code needs Memorix shared memory, reasoning, Git Memory, mini-skills, session handoff, orchestration coordination, or integration troubleshooting.
memorix-mini-skills
Use when durable project knowledge, gotchas, workflows, or repeated fixes should become reusable agent guidance instead of ordinary memory.