archive-crawler
Universal archivist for personal file archives (Dropbox/B2/Gmail-takeout/local-mount/hard-drive-dump).
Skill by Morris-UTRUST
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/morris-utrust-archive-crawler
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/archive-crawler
What's inside
- Skill name
archive-crawler- Description
- Universal archivist for personal file archives (Dropbox/B2/Gmail-takeout/local-mount/hard-drive-dump). Filters for high-value content (the user's own writing, ideas, relationships) and surfaces it interactively. REFUSES TO RUN without an explicit gbrain.yml `archive-crawler.scan_paths:` allow-list.
- License
- MIT
- Instructions
- 304 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- routing-eval.jsonl
SKILL.md (first lines)
# archive-crawler — The Universal Archivist
> **Convention:** see [conventions/quality.md](../conventions/quality.md) for
> citation rules, exact-phrasing requirements when capturing the user's
> reactions, and back-link enforcement.
>
> **Convention:** see [_brain-filing-rules.md](../_brain-filing-rules.md) —
> this skill is **schema-generic**: it reads the user's filing rules from
> the rules JSON instead of hardcoding any specific era / archive layout.
## Safety gate (REQUIRED, no exceptions)
archive-crawler refuses to run unless `archive-crawler.scan_paths:` is
explicitly set in `gbrain.yml`. This is a deliberate safety fence against
the agent over-scoping a scan and ingesting sensitive content (tax PDFs,
medical records, credentials).
```yaml
# gbrain.yml — the allow-list is mandatory
archive-crawler:
scan_paths:
- ~/Documents/writing/
- ~/Dropbox/Archive/
- /mnt/backup/old-letters/
# Optional deny-list inside the allow-list:
# deny_paths:
# - ~/Documents/finances/
# - ~/Documents/medical/
```
If `scan_paths` is empty or missing, the skill exits with:
```
archive-crawler: refusing to run. No `archive-crawler.scan_paths:` allow-list
in gbrain.yml. Add explicit paths the agent is permitted to scan, then re-run.
This is a safety fence — the agent will not infer what's safe to read.
```
This contract is enforced by `src/core/storage-config.ts` (mirrors the
`db_tracked` / `db_only` allow-list pattern from v0.22.11 storage tiering).
## What this is
Generic engine for exploring any tree of personal content within an
explicit allow-list. Works on local mounts, Dropbox API targets,
Backblaze B2, Gmail takeouts (`.mbox`), and similar archives. Filters
for "gold" (the user's own writing, ideas, relationships) and surfaces
it interactively for review. Skips noise (system files, configs, binary
blobs).
## Concepts
### Source
A source is any tree of files to explore. Sources have:
- **type**: `local` | `dropbox` | `backblaze` | `gmail-takeout` | `mbox` | `pst`
- **root**: filesystem path, Dropbox path, B2 prefix, mbox path
- **manifest**: a brain page tracking progress at
`projects/<archive-slug>/STATUS.md`
### Manifest
Every archive exploration gets a manifest brain page that tracks:
1. **Tree inventory** — folders / files / sizes / types
2. **Triage status** — each item: `⬜ unseen` / `👀 reviewed` /
`✅ ingested` / `⏭️ skip` / `🔥 high-signal`
3. **User reactions** — exact quotes when they react (per
conventions/quality.md exact-phrasing rule)
4. **Priority queue** — what to explore next, ranked
5. **Session log** — timestamped record of what was shown per session
### Gold filter
Before showing anything to the user, apply the gold filter:
| Keep (show) | Skip (note existence, don't show) |
|-------------|-----------------------------------|
| Personal writing (journals, letters, reflections, essays) | System files, configs, package.json, node_modules |
| Conversations (IM logs, email threads with substance) | Binary blobs (images / video) |
| Ideas, theses, frameworks | Receipts, invoices, tax docs |
| Relationship material (letters to / from people who matter) | Spam, newsletters, mailing-list bulk |
| Creative work (poetry, stories, code with soul) | Corrupted / null files |
| Origin stories (first versions of things that became important) | |
| Emotional content (anger, love, grief, discovery) | |
## Protocol
### Phase 1: Inventory
When pointed at a new source:
1. **Confirm scan_paths is set** (safety gate). Exit if not.
2. **Map the tree** — list folders + files + sizes + date ranges.
3. **Classify folders** — group by likely content type (writing, email,
code, photos, docs, system).
4. **Create manifest** — write `projects/<archive-slug>/STATUS.md` with
the full inventory.
5. **Propose priority queue** — rank folders by likely gold density.
6. **Present to user** — show the map and proposed order. Let them
override.
### Phase 2: Crawl
Work through folders in priority order:
1. **Read before showing** — open each candidate file, apply the gold
filter, skip noise.
2. **Show one at a time** — present gold items individually for review.
3. **Capture exact reaction** — track the user's response in the
manifest using their exact words (per conventions/quality.md).
4. **Ingest if worth keeping** — create a brain page immediately.
5. **Update manifest** — mark item status after each interaction.
6. **Never re-show** — check the manifest before presenting anything.
### Phase 3: Ingest
When an item is worth keeping, file it by **primary subject** perFrom Morris-UTRUST/GBrain-knowledge, MIT.
More from Morris-UTRUST/GBrain-knowledge
- 0.476score
gbrain-tcm-enrich
Morris-UTRUST
使用 gbrain 官方 enrich 流程,從中醫經典文本(如倪海厦《金匱要略》視頻同步文稿)建立知識圖譜。 適用於:處理中醫文獻、建立倪師臨床經驗知識庫、對中藥/方劑/病理進行實體蒸餾。 觸發時機:用户要求「處理中醫文本」、「建立倪師知識圖譜」、「 enrich 這份中醫文獻」。
SkillCFreshness: CClaude Code +9 - 0.474score
cold-start
Morris-UTRUST
Day-one data bootstrapping for a new brain.
SkillCFreshness: CClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- May 2, 2026 (6 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
- 0.337score
archive-crawler
starlink-awaken
Universal archivist for personal file archives (Dropbox/B2/Gmail-takeout/local-mount/hard-drive-dump).
SkillAFreshness: AClaude Code +9 - 0.283score
archive-crawler
Ninatuzi
Universal archivist for personal file archives (Dropbox/B2/Gmail-takeout/local-mount/hard-drive-dump).
SkillCFreshness: CClaude Code +9 - 0.283score
archive-crawler
singhvedant
Universal archivist for personal file archives (Dropbox/B2/Gmail-takeout/local-mount/hard-drive-dump).
SkillCFreshness: CClaude Code +9
More from Morris-UTRUST
- 0.476score
gbrain-tcm-enrich
Morris-UTRUST
使用 gbrain 官方 enrich 流程,從中醫經典文本(如倪海厦《金匱要略》視頻同步文稿)建立知識圖譜。 適用於:處理中醫文獻、建立倪師臨床經驗知識庫、對中藥/方劑/病理進行實體蒸餾。 觸發時機:用户要求「處理中醫文本」、「建立倪師知識圖譜」、「 enrich 這份中醫文獻」。
SkillCFreshness: CClaude Code +9 - 0.474score
cold-start
Morris-UTRUST
Day-one data bootstrapping for a new brain.
SkillCFreshness: CClaude Code +9
Cite this page
archive-crawler skill. Agent Mart. https://agentmart.dev/skills/morris-utrust-archive-crawler (last updated 2026-10-24)