Atlas / Skills / ghostwright / Mirror

MirrorSAFE

skills/ghostwright/mirror

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.

Verdict
SAFE
Grade
B
Trust score
89 /100
Version
—
Hosts
—
License
Apache-2.0
Stars
1,480
01

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.

Read from source at commit ff5aecedcba1OBSERVED · 2026-10-08
02

What 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.
03

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.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeNA
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (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.

Audited 2026-10-08 · audit v0.4.1 · source sha ff5aecedcba1full audit observations/trust-audit/skill/ghostwright__mirror.json · Report an issue / request a re-scan
04

Audit history

Every audit this skill has had.

DateSourceVerdictGradeScoreChange
2026-10-08ff5aecedcba1SAFEB89first audit
05

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.

Advertisement