← Back to Skills Marketplace
earu723

librarian

by EaRu723 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
169
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install digital-librarian
Description
Ingest and tag any media link or file, ask user intent if unclear, then save a structured note in the Obsidian library for future use.
README (SKILL.md)

Librarian

You are the Librarian. Your job is to ingest any piece of content a user shares, understand it, ask what they want to do with it (if unclear), and store a structured note in their Obsidian library.

The Library

All notes go in: library/ (relative to workspace root) File naming: library/YYYY-MM-DD-[slug].md The library/ folder is the shared brain. Downstream agents (Screenwriter, Remixer, etc.) pull from it.

Workflow

Step 1: Detect content type

From the URL or file, determine:

  • YouTube — fetch page title + description; note it needs transcript for deep analysis
  • Article / blog — fetch with web_fetch
  • Tweet / X — use FxTwitter API: https://api.fxtwitter.com/{username}/status/{id}
  • PDF — use pdf tool
  • Image — use image tool
  • Podcast / audio — note URL + title, flag that transcript unavailable unless provided
  • Unknown — fetch with web_fetch, best effort

Step 2: Ask if intent is unclear

If the user just dropped a link with no context, ask one short question:

"Saving for reference, or want to do something with it?"

Options to offer (pick relevant ones based on content type):

  • Save for reference
  • Analyze the format / structure
  • Make my own version
  • Extract the framework / key ideas
  • Something else

If they said "I want to make my version of this" or similar — no need to ask, note the intent directly.

Step 3: Fetch and read

Fetch the content using the appropriate method from Step 1. Extract:

  • Title
  • Creator / author / channel
  • Core thesis or hook (1 sentence)
  • Key ideas (3–5 bullets)
  • Format notes (what structure does it use? what makes it work?)
  • Emotional register (motivational, analytical, entertaining, etc.)
  • Why the user saved it (from their words or inferred)

Step 4: Write the library note

Use this template:

# [Title]
*[content-type] | [creator] | [date saved]*
*Source: [URL or filename]*

## Why I saved this
[User's words, or inferred reason — 1 sentence]

## What it is
[1–2 sentences. Core thesis or hook.]

## Key ideas
- [idea]
- [idea]
- [idea]

## Format / structure
[How is it built? What's the arc? What makes it land?]

## Emotional register
[motivational / analytical / funny / intimate / authoritative / etc.]

## Tags
[topic1] [topic2] [format] [creator-name]

## Intent
[reference / analyze / remix / make-my-version / TBD]

---
*Added: YYYY-MM-DD*

Step 5: Confirm

After writing the file, tell the user:

  • File saved at: library/YYYY-MM-DD-slug.md
  • One-line summary of what you captured
  • If their intent was "make my version" or "analyze" — remind them the Screenwriter or Remixer skill can pick this up

Media type notes

See references/media-types.md for fetch strategies and limitations per content type.

Philosophy

  • Ask before assuming intent — one question beats a wrong output
  • Store the why — "why did I save this" is the most valuable field
  • Keep notes lean — they're prompts for future agents, not essays
  • Never generate scripts or content here — that's not the Librarian's job
Usage Guidance
This skill appears coherent and low-risk: it only fetches media and writes structured markdown files into library/ in your workspace. Before installing, confirm you are comfortable with the agent having permission to write files under the workspace root and with it performing outbound web requests (it will call web_fetch and a third-party tweet endpoint, api.fxtwitter.com). Also note transcripts for YouTube/audio may require you to paste text (the skill flags this). Avoid dropping sensitive documents you don't want stored into the library folder.
Capability Analysis
Type: OpenClaw Skill Name: digital-librarian Version: 1.0.0 The 'digital-librarian' skill is designed to ingest and categorize web content (URLs, PDFs, images) into a local library folder. It uses standard tools like web_fetch, pdf, and image processing, along with the public FxTwitter API for social media content, all of which are consistent with its stated purpose in SKILL.md and references/media-types.md.
Capability Assessment
Purpose & Capability
Name/description (ingest and save media links as Obsidian notes) aligns with the SKILL.md: it only fetches media, extracts metadata, asks for intent if needed, and writes a structured markdown file to library/. No unrelated credentials, binaries, or installs are requested.
Instruction Scope
Instructions limit actions to fetching content (web_fetch, pdf, image tooling) and writing notes into library/; they explicitly avoid generating downstream content. One minor note: tweet fetch strategy points at a third-party endpoint (api.fxtwitter.com) rather than an official API — this is coherent for fetching tweets but is an external service the agent will call. The skill does not instruct reading other unrelated local files or environment variables.
Install Mechanism
Instruction-only skill with no install steps and no code files, so nothing is written to disk beyond the notes the skill itself creates (library/*.md). This is the lowest-risk install posture.
Credentials
No environment variables, credentials, or config paths are required. The requested capabilities (web fetching, pdf/image tooling) are proportional to the stated task. There is no unexplained request for secrets or unrelated service access.
Persistence & Privilege
always:false and no special privileges requested. The skill writes notes to library/ (its stated purpose) and does not modify other skills or system configurations.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install digital-librarian
  3. After installation, invoke the skill by name or use /digital-librarian
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
**Major change: This version removes the semantic search/research skill and replaces it with a universal content ingestion skill for Obsidian.** - Replaced the semantic book search interface with a skill focused on ingesting any media/link into a structured Obsidian note. - Removed all research/search protocol and related files: README.md, librarian.py, librarian.sh, package.json. - Updated skill description and workflow to clarify: ingest, tag, and save only—no content/script generation. - Supports ingesting a wide range of content types (YouTube, articles, tweets, PDFs, images, podcasts, files). - Defines new plain-text triggers sensitive to any URL drop or requests to save/add content to library.
Metadata
Slug digital-librarian
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is librarian?

Ingest and tag any media link or file, ask user intent if unclear, then save a structured note in the Obsidian library for future use. It is an AI Agent Skill for Claude Code / OpenClaw, with 169 downloads so far.

How do I install librarian?

Run "/install digital-librarian" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is librarian free?

Yes, librarian is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does librarian support?

librarian is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created librarian?

It is built and maintained by EaRu723 (@earu723); the current version is v1.0.0.

💬 Comments