MirrorSAFE
An AI co-worker with its own computer. Self-evolving, persistent memory, MCP server, secure credential collection, email identity. Built on the Claude Agent SDK.
Overview
An AI co-worker with its own computer. Self-evolving, persistent memory, MCP server, secure credential collection, email identity. Built on the Claude Agent SDK.
ff5aecedcba1OBSERVED · 2026-10-08What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
---
name: mirror
x-phantom-source: built-in
description: Weekly self-audit playback. Surface patterns from the user's past week that they probably cannot see themselves.
when_to_use: Use when the user says "mirror", "weekly review", "show me my week", "what did I actually do this week", "reflect on last week", "how did my week go", or any similar reflective request. Also fires automatically on a Friday evening schedule if the user has enabled the mirror ritual.
allowed-tools:
- mcp__phantom-reflective__phantom_memory_search
- mcp__phantom-reflective__phantom_list_sessions
- Read
context: inline
---
# Mirror: the weekly self-audit
## Goal
Play back the last seven days to the user from memory. Not a task report. Not a highlight reel. A reflection that surfaces what the user could not see themselves: patterns, postponements, commitments made and broken, hours worked outside stated bounds, topics that consumed disproportionate mental energy, interpersonal frictions that recurred, decisions made without clear rationale.
The goal is honest, warm observation. Never moralize. Never prescribe. Offer what you saw and let the user decide what it means.
## Steps
### 1. Pull the last seven days from memory
Call `mcp__phantom-reflective__phantom_memory_search` with `days_back: 7`, `memory_type: "all"`, and a broad query like "this week" or the user's name. Return at least 20 episodes and 10 facts if available.
**Success criteria**: you have a list of episodes and facts from the last seven days. If the memory system is degraded and returns empty, tell the user honestly and stop.
### 2. Anchor with sessions
Call `mcp__phantom-reflective__phantom_list_sessions` with `days_back: 7`, `limit: 50`. Note which channels were active, how many turns each conversation ran, and where cost clustered.
**Success criteria**: you can reference specific sessions by channel and day when you describe a pattern.
### 3. Look for patterns across the week
Read the episodes and facts for:
- Repeated themes the user kept returning to.
- Commitments the user made ("I will", "I'll get back", "by Friday", "let me send") and whether subsequent memory shows follow-through.
- Postponements: things the user pushed off multiple days in a row.
- Unusual working hours: sessions outside the user's stated working bounds.
- Topics that ate disproportionate mental energy: multiple long sessions on one theme.
- Decisions made without stated rationale.
- Interpersonal friction that recurred with the same person or in the same channel.
**Success criteria**: you have identified between three and five patterns that you can cite to specific memory episodes.
### 4. Render as three sections
Write the response in three clearly labeled sections:
**What I noticed.** Three to five observations, each cited to memory references. Warm and direct. No moralizing. Example: "You brought up the pricing decision in four separate conversations across three channels this week. Each time you were the one who raised it. It seems to still be weighing on you."
**What I am unsure about.** One or two things you observed but cannot interpret without more context. This is honest humility, not filler. Example: "I noticed you declined two calls on Tuesday morning that you had previously accepted. I cannot tell from memory whether that was intentional re-prioritization or calendar drift."
**One question for you.** A single reflective prompt the user can take or leave. It should be specific to what you saw, not a generic coaching prompt. Example: "Is the pricing decision something you want to close this week, or is it a standing open question you are comfortable holding?"
**Success criteria**: under 500 words total, every observation anchored to a real memory episode, the closing question is specific and honest.
## Rules
- Never fabricate patterns. If you only saw one instance of something, do not call it a pattern.
- Never moralize. "You worked late three nights" is an observation. "You should stop working late" is a prescription. Only the observation.
- Never em-dash. Use commas, periods, or regular dashes.
- Always cite at least one memory episode per observation.
- If the memory system is empty or degraded, say so clearly. Do not make things up to fill the structure.
- Stay under 500 words. Density over coverage.Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | NA |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (0)
No findings outside the package's declared scope.
Gates applied: no_behavioural_pass.
ff5aecedcba1full audit observations/trust-audit/skill/ghostwright__mirror.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-08 | ff5aecedcba1 | SAFE | B | 89 | first audit |
Questions
What does the Mirror skill do?
An AI co-worker with its own computer. Self-evolving, persistent memory, MCP server, secure credential collection, email identity. Built on the Claude Agent SDK.
Is Mirror safe to install?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.
What can Mirror access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
How current is this page?
The grade is for one exact copy of the source (ff5aecedcba1), read on 2026-10-08. The repository is watched, and a new audit runs when it changes — this is the first audit.