# Validate

Schema validation for notes.

- Repository: https://github.com/agenticnotetaking/arscontexta (3518 stars)
- Category: Writing
- License: MIT
- Last updated: 2026-02-24
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add agenticnotetaking/arscontexta --skill validate -g -a claude-code -y`
Codex: `npx skills add agenticnotetaking/arscontexta --skill validate -g -a codex -y`
Cursor: `npx skills add agenticnotetaking/arscontexta --skill validate -g -a cursor -y`
Gemini CLI: `npx skills add agenticnotetaking/arscontexta --skill validate -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add agenticnotetaking/arscontexta`

## Description

Schema validation for notes. Checks against domain-specific templates. Validates required fields, enum values, description quality, and link health. Non-blocking, warns but doesn't prevent capture. Triggers on "/validate", "/validate [note]", "check schema", "validate note", "validate all".

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

## Runtime Configuration (Step 0, before any processing)

Read these files to configure domain-specific behavior:

1. **`ops/derivation-manifest.md`**, vocabulary mapping, platform hints
   - Use `vocabulary.notes` for the notes folder name
   - Use `vocabulary.note` / `vocabulary.note_plural` for note type references
   - Use `vocabulary.topic_map` for MOC references
   - Use `vocabulary.templates` for the templates folder path

2. **`ops/config.yaml`**, processing depth
   - `processing.depth`: deep | standard | quick

If these files don't exist, use universal defaults.

**Processing depth adaptation:**

| Depth | Validation Behavior |
|-------|---------------------|
| deep | Full schema validation. All checks enabled including composability analysis and cross-reference verification |
| standard | Full validation, all checks enabled |
| quick | Basic schema validation only, required fields, YAML validity, enum values |

## EXECUTE NOW

**Target: $ARGUMENTS**

Parse immediately:
- If target contains a note name: validate that specific note
- If target contains `--handoff`: output RALPH HANDOFF block at end
- If target is "all" or "notes": validate all notes in {DOMAIN:notes}/ directory
- If target is empty: ask which note to validate

**Execute these steps:**

### Step 1: Locate Template

Determine which template applies to the target note:

1. Check the note's location, notes in {DOMAIN:notes}/ use the standard note template
2. Check the `type` field in frontmatter, specialized types may have dedicated templates
3. Look for a templates directory (check `ops/templates/` or domain-specific path from derivation manifest)
4. If the template has a `_schema` block, read it, this is the authoritative schema definition

If no template is found, use the default schema checks below.

### Step 2: Read Target Note

The rest: https://github.com/agenticnotetaking/arscontexta/blob/HEAD/skill-sources/validate/SKILL.md
