# Inbox Triage

> >

- **Type:** Skill
- **Install:** `agentstack add skill-r007b34r-opencode-obsidian-knowledge-workflow-inbox-triage`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [r007b34r](https://agentstack.voostack.com/s/r007b34r)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** Apache-2.0
- **Upstream author:** [r007b34r](https://github.com/r007b34r)
- **Source:** https://github.com/r007b34r/opencode-obsidian-knowledge-workflow/tree/master/skills/inbox-triage

## Install

```sh
agentstack add skill-r007b34r-opencode-obsidian-knowledge-workflow-inbox-triage
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# inbox-triage

## Constraints

- NEVER scan whole vault; scope = `Inbox/` or user-specified path only
- NEVER write back without explicit user confirmation
- NEVER produce synthesis or thesis; output is routing decisions only
- NEVER deep-read all items; deep-read only when routing is genuinely uncertain
- MAX 20 items per batch; split and report remainder if more

## Trigger Boundary

**Use when:** triage inbox, sort captures, route raw notes, process fleeting notes, decide what to promote/archive.

**Do NOT use for:**
- Cross-note relationship analysis → `connection-review`
- Week-level meaning extraction → `weekly-synthesis`
- Stable note creation → `note-promotion`
- Vault health diagnosis → `vault-health-feedback`

## Boundaries

- **Owns:** inbox routing, capture classification, shallow-read decisions
- **Delegates to:** `connection-review` (items needing links), `note-promotion` (items marked promote)
- **Never absorbs:** synthesis, health diagnosis, context maintenance, relationship analysis

## Continuations

| Condition | Next skill |
|-----------|-----------|
| Promoted items with link potential > 2 | `connection-review` |
| Item marked promote-to-note, user confirms | `note-promotion` |
| Inbox path not found or empty | `vault-health-feedback` |
| Ambiguous items > 60% of batch | Escalate to human |

## Companion Skill

All vault operations follow `obsidian-mcp`. Forbidden: `obsidian_patch_note`, `obsidian_append_to_note`. Verify every write through readback.

## Procedure

### Phase 1: Discover
1. `obsidian_list_notes path:"Inbox/"` → candidate list
2. Count items; if >20, process first 20 and report remainder

### Phase 2: Shallow Read
1. For each: `obsidian_get_note format:"document-map"` → structure
2. Short notes (
Edge Cases (expand only when needed)

- **Empty inbox:** report empty, suggest checking path config
- **All items ambiguous:** escalate to user, ask for 2-3 example decisions to calibrate
- **Mixed languages:** classify by content quality, not language
- **Broken frontmatter:** flag but still classify content
- **Oversized inbox (50+):** process first 20, report "X items remaining, continue?"
- **Items with no content (title only):** classify as needs-deep-read or archive

## Gotchas

### Gotcha 1: Triage becomes mini-synthesis
**What happens:** Agent writes multi-paragraph analysis for each item
**Why it's wrong:** Triage is routing, not content production; wastes tokens and crosses into weekly-synthesis territory
**Correct approach:** One sentence reason + one decision per item

### Gotcha 2: Over-promotion
**What happens:** Agent marks most items as promote-to-note
**Why it's wrong:** Promotes unstable fragments, creates hollow vault growth
**Correct approach:** Promote only when stable + reusable + independent; default to keep-in-inbox when uncertain

### Gotcha 3: Full-reading everything
**What happens:** Agent reads every note in full before classifying
**Why it's wrong:** Wastes token budget; most routing decisions need only document-map
**Correct approach:** Document-map first; deep-read only genuinely uncertain items

## Validators (CI only, not runtime)

- `validators/pre-check.sh`: Confirms inbox path accessible and not empty
- `validators/post-check.sh`: Verifies output contains no synthesis markers

## Exit Criteria

- Every candidate has exactly one routing decision or needs-deep-read
- Triage has not turned into synthesis
- Batch size ≤20 respected
- Any write-back passed obsidian-mcp readback verification

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [r007b34r](https://github.com/r007b34r)
- **Source:** [r007b34r/opencode-obsidian-knowledge-workflow](https://github.com/r007b34r/opencode-obsidian-knowledge-workflow)
- **License:** Apache-2.0

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-r007b34r-opencode-obsidian-knowledge-workflow-inbox-triage
- Seller: https://agentstack.voostack.com/s/r007b34r
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
