Skip to content
Back to skills

Pst

ASecurity

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.

  • 25 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added June 8, 2026
toolspythonbackend

Works with

  • claude code

Security analysis

A100/100

Scanned June 8, 2026

npx -y skills add sdemyanov/retriever --skill pst --agent claude-code

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.

Security grade badge for Pst
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/sdemyanov-pst/badge)](https://www.skillsdirectory.com/skills/sdemyanov-pst)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.