Claude Skills
CollectionsCompareWorkflowsNominate
Sign inSign up
© 2026 Curated Agent Skills·Learn more about Agent Skills
Back to repository

field-suggestions

verified

Generate AI-assisted frontmatter field suggestions using para-obsidian LLM utilities. Demonstrates 3-layer architecture (constraints, prompt-builder, orchestration) for metadata extraction.

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

Installation paths:

Claude
.claude/skills/field-suggestions/
Powered by add-skill CLI

Instructions

# Field Suggestions Skill

## Purpose

This skill demonstrates how to use the para-obsidian LLM utilities for AI-assisted field suggestions in custom slash commands. It shows how to leverage the 3-layer architecture (constraints, prompt-builder, orchestration) to build intelligent metadata extraction that respects vault context and frontmatter rules.

---

## Architecture Overview

The para-obsidian plugin provides a **3-layer LLM utility architecture** in `src/llm/`:

### Layer 1: Constraints (`constraints.ts`)
Deterministic extraction with enum/wikilink/vault context awareness:
- `buildConstraintSet()`: Converts template + frontmatter rules into LLM constraints
- Handles enums, wikilinks, validation rules, and vault context
- Ensures AI suggestions respect PARA structure and Dataview compatibility

### Layer 2: Prompt Builder (`prompt-builder.ts`)
Declarative, composable prompts:
- `buildStructuredPrompt()`: Assembles system role, task, content, constraints
- Separates concerns: what to extract vs how to format
- Reusable across different templates and use cases

### Layer 3: Orchestration (`orchestration.ts`)
High-level workflows:
- `suggestFieldValues()`: Single-field suggestions
- `convertNoteToTemplate()`: Full note conversion with validation
- `callOllama()`: LLM integration with error handling
- `parseOllamaResponse()`: Structured response parsing

---

## Usage Example

### Basic Field Suggestion (Single Field)

```typescript
import {
  buildConstraintSet,
  buildStructuredPrompt,
  callOllama,
  parseOllamaResponse,
  type VaultContext
} from './llm';
import { getTemplate } from './templates';
import { loadConfig } from './config';

async function suggestProjectMetadata(
  userTitle: string,
  userDescription: string
): Promise<{ args: Record<string, unknown>; title: string }> {
  // 1. Load config and template
  const config = await loadConfig();
  const template = getTemplate(config, 'project');

  // 2. Build vault context (for wikilink validation)
  co

Validation Details

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