inbox-memory
by microsoft
Read and write agent storage — memory and rules with environment-aware fallback
npx skills add https://github.com/microsoft/vscode-team-kit --skill inbox-memoryInbox Memory
This skill reads and writes persistent memory and rules files for the Inbox agent. It abstracts storage so all agents use a single skill instead of calling #memory directly.
File names
- Memory:
github-inbox-memory.md— session context, patterns, preferences - Rules:
github-inbox-rules.md— user's rules and preferences
Storage strategy
Two possible backends:
#memorytool (VS Code Chat) — stores under the virtual path/memories/- File system (
~/.copilot/) — used by Copilot CLI; also usable from VS Code Chat~/.copilot/github-inbox-memory.md~/.copilot/github-inbox-rules.md
How to pick a backend (run ONCE per session, cache the choice)
- Detect availability of
#memory: try{ "command": "view", "path": "/memories/github-inbox-memory.md" }. If the tool itself errors as unavailable,#memoryis NOT available. - Check for existing CLI memory: see if
~/.copilot/github-inbox-memory.mdor~/.copilot/github-inbox-rules.mdexist and are non-empty (usels -la ~/.copilot/or#view). - Decide:
- If
#memoryis unavailable → use file system (~/.copilot/). No prompt. - If
#memoryis available AND~/.copilot/has NO existing inbox files → use#memory. No prompt. - If
#memoryis available AND~/.copilot/has existing inbox files → ASK the user with#askQuestionswhich backend to use. Show them what was found (file names + sizes or a one-line preview). Options:- "Use
~/.copilot/(existing CLI memory)" — recommended when CLI files exist - "Use VS Code
#memory(start fresh / keep VS Code-only)" - "Use VS Code
#memoryand import from~/.copilot/" — copy current CLI files into#memoryonce
- "Use
- If
- Cache the chosen backend for the rest of the session and use it for ALL subsequent reads and writes. Do NOT mix backends within a session.
Reading
Via #memory:
{ "command": "view", "path": "/memories/github-inbox-memory.md" }
{ "command": "view", "path": "/memories/github-inbox-rules.md" }
Via file system (fallback):
Read ~/.copilot/github-inbox-memory.md or ~/.copilot/github-inbox-rules.md using #read (VS Code) or #view (CLI). If the file doesn't exist, treat as empty / first-time user.
Writing
Via #memory:
{ "command": "delete", "path": "/memories/github-inbox-memory.md" }
{ "command": "create", "path": "/memories/github-inbox-memory.md", "file_text": "<content>" }
If the file doesn't exist yet, skip the delete and just use create.
Via file system (fallback):
- Ensure
~/.copilot/exists:mkdir -p ~/.copilot - Write the file using
#editor via terminal: write full content to~/.copilot/github-inbox-memory.md.
Rules
- Always read before writing to avoid losing existing content
- Memory and rules are separate files — don't mix them
- Keep memory under 100 lines — deduplicate, keep last 5 session logs, be concise
- NEVER use repo memory (
/memories/repo/) — only the files listed above