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

create-resource

verified

Create resource notes from analyzed proposals. Use when triage orchestrator routes a proposal with proposed_template=resource. Handles frontmatter setup and original file cleanup via para_create.

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/create-resource/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/create-resource/SKILL.md -a claude-code --skill create-resource

Installation paths:

Claude
.claude/skills/create-resource/
Powered by add-skill CLI

Instructions

# Create Resource

Create a resource note from an analyzed proposal.

## Input

You receive a proposal object from an analyzer skill:

```json
{
  "file": "00 Inbox/โœ‚๏ธ Article Title.md",
  "type": "clipping|transcription|attachment",
  "proposed_title": "Meaningful Title",
  "proposed_template": "resource",
  "summary": "2-3 sentence summary",
  "categorization_hints": ["hint1", "hint2", "hint3"],
  "area": "[[๐ŸŒฑ Area Name]]",
  "project": "[[๐ŸŽฏ Project Name]]",
  "resourceType": "article|tutorial|reference|thread|video|idea",
  "source_format": "article|video|thread|document|audio",
  "author": "Author Name",
  "source_url": "https://..."
}
```

## Output

Create the resource note and handle the original file.

## Workflow

### Step 0: Discover Template Metadata

Before creating the note, query the resource template for its current structure:

```
para_template_fields({ template: "resource", response_format: "json" })
```

Extract from response:
- `validArgs` โ†’ which args to pass to `para_create`
- `creation_meta.dest` โ†’ destination folder
- `creation_meta.contentTargets` โ†’ section headings for content injection (e.g., `["Layer 1: Captured Notes"]`)
- `creation_meta.sections` โ†’ all body section headings

### Step 1: Create Resource Note

**CRITICAL:** Use frontmatter-only approach. ALL data in `args`, NEVER in `content`.

Use discovered `validArgs` for field names and `creation_meta.dest` for destination:

```
para_create({
  template: "resource",
  title: proposal.proposed_title,
  dest: "<discovered-dest>",
  args: {
    summary: proposal.summary,
    source: proposal.source_url,
    resource_type: proposal.resourceType,
    source_format: proposal.source_format,  // Enables ๐Ÿ“š๐ŸŽฌ emoji prefix (video, thread, etc.)
    // Single area: pass string directly โ€” "[[๐ŸŒฑ Area]]"
    // Multiple areas: pass JSON array string โ€” '["[[๐ŸŒฑ Area 1]]", "[[๐ŸŒฑ Area 2]]"]'
    areas: Array.isArray(proposal.area) ? JSON.stringify(proposal.area) : proposal.area,
    projects: Array.is

Validation Details

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