Agent skill

normalize-note

Harmonize frontmatter and wikilinks in a note. Detects prose patterns, suggests frontmatter additions, and suggests wikilinks for frontmatter values. Triggers on "normalize note", "harmonize note", "sync frontmatter".

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/normalize-note

SKILL.md

Normalize Note

Harmonize the relationship between frontmatter (Schema-Native) and wikilinks (Graph-Native) in a note.

When to Use

Invoke when you want to:

  • Detect "Key: [[Value]]" patterns in prose and suggest frontmatter fields
  • Find frontmatter values that could be converted to wikilinks
  • Check consistency between frontmatter references and prose wikilinks
  • Get a unified view of how to improve note structure

Arguments

Argument Required Description
path Yes Path to the note to normalize (e.g., "projects/my-project.md")

Process

1. Parse User Input

Recognize normalization requests:

  • "normalize this note"
  • "harmonize frontmatter and wikilinks in projects/foo.md"
  • "sync the frontmatter with the prose"

2. Call MCP Tools (in sequence)

# Step 1: Detect prose patterns
mcp__flywheel__detect_prose_patterns(path)

# Step 2: Suggest frontmatter from patterns
mcp__flywheel__suggest_frontmatter_from_prose(path)

# Step 3: Suggest wikilinks for frontmatter
mcp__flywheel__suggest_wikilinks_in_frontmatter(path)

# Step 4: Validate cross-layer consistency
mcp__flywheel__validate_cross_layer(path)

3. Format Results

Note Normalization Report: projects/my-project.md
=================================================

Prose Patterns Detected (5):
-------------------------------------------------
  Line 12: Client: [[Acme Corp]]       -> client: [[Acme Corp]]
  Line 14: Status: Active              -> status: Active
  Line 15: Owner: [[Ben Carter]]       -> owner: [[Ben Carter]]
  Line 18: Priority: High              -> priority: High
  Line 22: Due Date: 2024-01-15        -> due_date: 2024-01-15

Frontmatter -> Wikilink Suggestions (2):
-------------------------------------------------
  Field: attendees[0] = "Ben Carter"
    -> attendees: [[[Ben Carter]], "Sarah Johnson"]
    Target: people/Ben Carter.md

  Field: project = "Phoenix"
    -> project: [[Phoenix]]
    Target: projects/Phoenix.md

Cross-Layer Consistency:
-------------------------------------------------
  ✓ Consistent (in both): [[Acme Corp]], [[Ben Carter]]
  ⚠ Frontmatter only: Sarah Johnson (not linked in prose)
  ⚠ Prose only: [[Another Note]] (not in frontmatter)

Recommended Actions:
-------------------------------------------------
1. Add detected patterns to frontmatter
2. Convert matching frontmatter values to wikilinks
3. Review prose-only links for frontmatter inclusion

=================================================

Use Cases

  • New note cleanup: After writing, normalize to add proper structure
  • Schema migration: Convert prose-heavy notes to structured frontmatter
  • Graph enhancement: Make frontmatter values traversable via wikilinks
  • Consistency audit: Ensure frontmatter and prose references align

Integration

Works with other bidirectional skills:

  • promote-frontmatter: Apply frontmatter suggestions
  • wikilinkify-frontmatter: Convert frontmatter values to wikilinks

Version: 1.0.0

Didn't find tool you were looking for?

Be as detailed as possible for better results