pop-obsidian

Plugin Orchestration Protocol (POP) for Obsidian integration. Use this skill when the user mentions "POP", "Obsidian plugin", "pipeline orchestration", "idea to publish", "websocket bridge", "plugin manifest", "Obsidian automation", "note-to-paper pipeline", "knowledge pipeline", or wants to orchestrate multi-step workflows through Obsidian. This skill implements the 5-phase JSON-RPC protocol over WebSocket for real-time plugin orchestration.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "pop-obsidian" with this command: npx skills add toolate28/pop-obsidian

POP Super-Obsidian — Plugin Orchestration Protocol

The POP protocol enables real-time orchestration of multi-step pipelines through Obsidian. It connects Claude (orchestrator), Obsidian (vault + UI), and the Rust TUI (monitoring dashboard) via JSON-RPC over WebSocket at ws://127.0.0.1:8088.

Protocol Overview

POP operates in 5 phases, each with specific JSON-RPC message types:

Phase 1: Discovery

Message: GET_PLUGIN_MANIFEST Purpose: Ask the Obsidian plugin what capabilities are installed.

{
  "jsonrpc": "2.0",
  "method": "GET_PLUGIN_MANIFEST",
  "id": 1
}

Response: Returns a manifest of all installed Obsidian plugins with their exposed actions. Use this to understand what the vault can do before constructing a pipeline.

Phase 2: Orchestration

Message: EXECUTE_PIPELINE Purpose: Send a named pipeline with steps to execute.

{
  "jsonrpc": "2.0",
  "method": "EXECUTE_PIPELINE",
  "params": {
    "pipeline": "idea-to-publish",
    "steps": [
      {"id": "spark", "action": "create_note", "params": {"title": "...", "content": "..."}},
      {"id": "expand", "action": "ai_expand", "params": {"note_id": "$spark.output.id"}},
      {"id": "visual", "action": "generate_figure", "params": {"note_id": "$expand.output.id"}},
      {"id": "verify", "action": "wave_check", "params": {"content": "$expand.output.content"}},
      {"id": "assemble", "action": "merge_notes", "params": {"ids": ["$spark", "$expand", "$visual"]}},
      {"id": "export", "action": "export_pdf", "params": {"note_id": "$assemble.output.id"}}
    ],
    "coherence_threshold": 0.85,
    "atom_token": "$ATOM_TOKEN_RESONANCE"
  },
  "id": 2
}

Step references: Use $step_id.output.field to reference outputs from previous steps. This creates a DAG of dependencies that the orchestrator resolves in topological order.

Phase 3: Progress

Message: STEP_COMPLETE Direction: Obsidian → Claude (notification)

{
  "jsonrpc": "2.0",
  "method": "STEP_COMPLETE",
  "params": {
    "pipeline_id": "...",
    "step_id": "expand",
    "status": "complete",
    "output": {"id": "note-abc", "content": "..."},
    "wave_score": 0.91,
    "duration_ms": 1250
  }
}

Each step completion is forwarded to the Rust TUI for real-time gauge updates.

Phase 4: Coherence

Message: COHERENCE_REPORT Purpose: Full pipeline coherence assessment after all steps complete.

{
  "jsonrpc": "2.0",
  "method": "COHERENCE_REPORT",
  "params": {
    "pipeline_id": "...",
    "overall_score": 0.89,
    "step_scores": {"spark": 0.92, "expand": 0.91, "visual": 0.87, "verify": 0.93},
    "conservation_check": {"alpha": 7, "omega": 8, "sum": 15, "valid": true},
    "atom_trail_id": "ATOM-2026-02-16-..."
  }
}

If overall_score < coherence_threshold, the pipeline is flagged for review.

Phase 5: Error

Message: PIPELINE_FAILED Direction: Either direction (any party can signal failure)

{
  "jsonrpc": "2.0",
  "method": "PIPELINE_FAILED",
  "params": {
    "pipeline_id": "...",
    "failed_step": "visual",
    "error": "Figure generation timed out",
    "partial_outputs": {"spark": "...", "expand": "..."},
    "recovery": "retry_step"
  }
}

Recovery options: retry_step, skip_step, abort, rollback

Built-in Pipelines

Read references/pipeline-templates.md for full pipeline definitions.

Quick Reference

PipelineTriggerSteps
idea-to-publish"idea to publish", "note to paper"Spark → Expand → Visual → Verify → Assemble → Export
research-digest"research digest", "literature summary"Fetch → Summarize → Score → Tag → Canvas
quantum-circuit"quantum circuit", "place redstone"Generate → Verify → Export mcfunction → Place
paper-draft"draft paper", "write paper"RAG → AI-Researcher → AutoFigure → WAVE → PDF

Connection Architecture

Claude (Orchestrator)
    ↓ JSON-RPC
ws://127.0.0.1:8088
    ↓
Rust WebSocket Bridge (crates/websocket-bridge)
    ├── → Obsidian Plugin (vault operations)
    ├── → Rust TUI (crates/tui — monitoring dashboard)
    └── → WAVE Scorer (coherence at each transition)

The Rust bridge is the central hub. It:

  1. Receives EXECUTE_PIPELINE from Claude
  2. Dispatches steps to Obsidian
  3. Receives STEP_COMPLETE from Obsidian
  4. Forwards telemetry to the TUI
  5. Runs WAVE checks at transitions
  6. Sends COHERENCE_REPORT back to Claude

Authentication

All POP messages include an ATOM token for authentication:

  • $ATOM_TOKEN_RESONANCE — generated via atom_tag_generate
  • Token encodes: session ID, agent identity, coherence threshold, conservation proof
  • Five-strand anyon braid topology (see docs/ATOM_AUTH.md)

Implementing the Obsidian Side

The Obsidian plugin needs to:

  1. Listen on ws://127.0.0.1:8088 for incoming connections
  2. Expose GET_PLUGIN_MANIFEST with all installed plugin actions
  3. Handle EXECUTE_PIPELINE by running steps against the vault
  4. Report STEP_COMPLETE after each step with outputs and timing
  5. Generate COHERENCE_REPORT using vault content analysis

For the TypeScript implementation details, read references/protocol-spec.md.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Zip

Zip - command-line tool for everyday use

Registry SourceRecently Updated
General

Youtube Script

YouTube视频脚本、标题A/B测试、缩略图文案、SEO优化、开头Hook、章节标记。YouTube script writer with title testing, thumbnail copy, SEO optimization, hooks, chapter markers. Use when you...

Registry SourceRecently Updated
1760ckchzh
General

Topmediai AI Music Generator

Generate AI music, BGM, or lyrics via TopMediai API. Supports auto polling and two-stage output (preview first, then final full audio) for generation tasks.

Registry SourceRecently Updated
General

Yamlcheck

YAML validator and formatter. Validate YAML syntax, pretty-print with proper indentation, convert between YAML and JSON, and lint YAML files for common issues.

Registry SourceRecently Updated