Use this skill when the user wants Retriever to ingest or inspect Outlook PST mail archives. It covers the first-class libpff-python / pypff-backed PST container pipeline, where one PST source expands into message documents plus attachment children.
Installs into .claude/skills of the current project.
Are you the author of Pst?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/sdemyanov-pst)
---
name: pst
description: >
Use this skill when the user wants Retriever to ingest or inspect Outlook PST mail archives.
It covers the first-class libpff-python / pypff-backed PST container pipeline, where one PST source expands into
message documents plus attachment children.
metadata:
version: "1.1.17"
---
> Operates under `retriever:routing`. If the user's intent actually fits a different tier — another `retriever:*` skill, a Tier 2 slash, a Tier 3 `tools.py` subcommand, or (last resort) direct DB access — stop and re-route against the ladder before continuing.
# Retriever PST
Use this skill when the user says things like:
- "ingest this PST"
- "index this Outlook archive"
- "scan this mailbox.pst"
## Load order
1. Read [../workspace/workspace.md](../workspace/workspace.md).
2. Read [../parsing/parsing.md](../parsing/parsing.md).
3. Use [../tool-template/tools.py](../tool-template/tools.py) as the canonical tool entrypoint.
## Execution rules
- Confirm or infer the workspace root.
- Run `workspace status` and inspect `pst_backend` before attempting PST ingest.
- If `pst_backend.status` is not `pass`, stop and explain that the required `libpff-python` / `pypff` PST backend is unavailable for PST ingest in the current runtime.
- Use regular bounded `ingest` for PST sources, not `ingest-production`.
- For Claude Code use, run one bounded ingest command at a time with `--budget-seconds 35` and continue from `next_recommended_commands` while `more_work_remaining: true`.
- Treat a `.pst` file as a container source that expands into one logical parent document per message, with one level of attachment child documents.
- When a PST source is unchanged, expect Retriever to skip reparsing the source and just refresh seen timestamps.
- When a PST source changes, expect Retriever to update matching messages in place, preserve stable control numbers, and retire removed messages.
- Call out `source_kind = pst`, `source_rel_path`, `source_item_id`, and `source_folder_path` when those details help the user understand the results.