Claude Skills
CollectionsCompareWorkflowsNominate
Sign inSign up
ยฉ 2026 Curated Agent SkillsยทLearn more about Agent Skills
Back to repository

analyze-attachment

verified

Analyze PDF/DOCX attachments, create notes, and return lightweight proposals. Reads content via para_read, analyzes, creates note with para_create, and persists proposal. Worker skill for triage orchestrator.

View on GitHub

Marketplace

side-quest-marketplace

nathanvale/side-quest-marketplace

Plugin

para-obsidian

productivity

Repository

nathanvale/side-quest-marketplace
3stars

plugins/para-obsidian/skills/analyze-attachment/SKILL.md

Last Verified

February 4, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/nathanvale/side-quest-marketplace/blob/main/plugins/para-obsidian/skills/analyze-attachment/SKILL.md -a claude-code --skill analyze-attachment

Installation paths:

Claude
.claude/skills/analyze-attachment/
Powered by add-skill CLI

Instructions

# Analyze Attachment

Analyze PDF or DOCX attachments, **create the note**, and return a lightweight proposal.

**Key design:** Like analyze-web and analyze-voice, this skill creates the note AND returns a proposal. The full content stays in subagent context โ€” only the proposal flows back to the coordinator.

## Input

You receive:
- `file`: Path to attachment inbox note (e.g., `00 Inbox/๐Ÿ“Ž document.md` โ€” the inbox note referencing the attachment)
- `areas`: Available areas in vault
- `projects`: Available projects in vault

## Output

Return a JSON proposal per @plugins/para-obsidian/skills/triage/references/proposal-schema.md.

**Key:** Use `area` (single wikilink), `project` (single wikilink or null), `resourceType` (camelCase). Include `file`, `type: "attachment"`, `created`, `layer1_injected`, and `document_type` alongside the standard proposal fields.

For attachments, always set `source_format: "document"`. Include `document_type` (invoice, contract, cv, letter, medical, report, manual) as an attachment-specific field.

## Workflow

### Step 1: Read Inbox Note

```
para_read({ file: "[input file]", response_format: "json" })
```

Extract frontmatter fields (`source`, `type`, pre-filled `areas`/`projects`) and body content from the inbox note. The inbox note typically contains extracted text from the attachment (placed there by the CLI scan step or Web Clipper).

Do NOT call `para_fm_get` separately โ€” `para_read` returns the full file including frontmatter.

### Step 2: Analyze Content

Based on the extracted content in the inbox note, determine:
1. **Document type**: Invoice, contract, CV, letter, medical, report, manual
2. **Template**: Most attachments โ†’ `resource`, invoices โ†’ `invoice`, bookings โ†’ `booking`
3. **Key information**: Dates, amounts, parties, terms
4. **Area/project**: Which vault area does this belong to?

### Step 3: Pre-Creation Self-Check

Before calling `para_create`, verify your `args` object includes critical fields:

**If resource:**
-

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
6288 chars