Agent skill
library
Install this agent skill to your Project
npx add-skill https://github.com/akaihola/skills-akaihola/tree/main/library
SKILL.md
The Library
A meta-skill for private-first distribution of agentics (skills, agents, and prompts) across workspaces, agents, and devices.
Inspiration
This skill was adopted after watching Dan Dubiel's video The Library Meta-Skill: How I Distribute PRIVATE Skills, Agents and Prompts (Agentic Engineer, 2026).
The original template repository is disler/the-library on GitHub. Our version is adapted for a symlink-based multi-workspace setup (see Install Mechanism below) rather than the copy-based approach in the original.
Variables
- LIBRARY_REPO_URL:
https://github.com/akaihola/skills-akaihola.git - LIBRARY_YAML_PATH:
~/prg/skills-akaihola/library/library.yaml - LIBRARY_SKILL_DIR:
~/prg/skills-akaihola/library/ - SKILLS_BASE_DIR:
~/prg/skills-akaihola/
How It Works
The Library is a catalog of references to your agentics. The library.yaml file points to where skills, agents, and prompts live (local filesystem or GitHub repos). Nothing is fetched until you ask for it.
Our setup uses symlinks, not copies. When you use a skill, it creates a symlink from the workspace's .claude/skills/<name> → the source directory. This means:
- Updates to
skills-akaiholapropagate instantly — no manual sync needed for already-installed skills syncjust does agit pullinskills-akaihola/- A single
library.yamlinskills-akaihola/library/serves all workspaces
Commands
| Command | Purpose |
|---|---|
/library install |
First-time setup: clone skills-akaihola and configure |
/library add <details> |
Register a new entry in the catalog |
/library use <name> |
Symlink a skill into the current workspace |
/library push <name> |
Push local changes back to source |
/library remove <name> |
Remove from catalog and optionally unlink locally |
/library list |
Show full catalog with install status |
/library sync |
Pull latest from skills-akaihola (symlinks auto-propagate) |
/library search <keyword> |
Find entries by keyword |
Cookbook
Each command has a detailed step-by-step guide. Read the relevant cookbook file before executing a command.
| Command | Cookbook | Use When |
|---|---|---|
| install | cookbook/install.md | First-time setup on a new device |
| add | cookbook/add.md | Register a new skill/agent/prompt in catalog |
| use | cookbook/use.md | Symlink a skill into the current workspace |
| push | cookbook/push.md | Push local skill improvements back to source |
| remove | cookbook/remove.md | Remove an entry from the catalog |
| list | cookbook/list.md | See what's available and installed |
| sync | cookbook/sync.md | Pull latest versions from origin |
| search | cookbook/search.md | Find a skill by keyword |
When a user invokes a /library command, read the matching cookbook file first, then execute the steps.
Source Format
The source field in library.yaml supports these formats (auto-detected):
/absolute/path/to/SKILL.md— local filesystem path~/relative/path/to/SKILL.md— home-relative path (expand~→/home/agent)https://github.com/org/repo/blob/main/path/to/SKILL.md— GitHub browser URLhttps://raw.githubusercontent.com/org/repo/main/path/to/SKILL.md— GitHub raw URL
The source always points to the SKILL.md file (or AGENT.md for agents). The library installs the entire parent directory.
Install Mechanism (Symlinks)
Unlike the upstream template which copies files, we use symlinks so updates propagate automatically:
# For skills in skills-akaihola:
ln -sfn ~/prg/skills-akaihola/<skill-name> <target_dir>/<skill-name>
# For skills at arbitrary local paths:
ln -sfn <parent_dir_of_SKILL.md> <target_dir>/<skill-name>
The workspace .claude/skills/ directory is the default target.
Target Directories
default_dirs:
skills:
- default: .claude/skills/ # workspace-level (relative to CWD)
- global: ~/.claude/skills/ # user-level (all sessions)
agents:
- default: .claude/agents/
- global: ~/.claude/agents/
prompts:
- default: .claude/commands/
- global: ~/.claude/commands/
- If user says "global" or "globally" → use the
globaldirectory - Otherwise → use the
defaultdirectory (relative to current workspace root)
Library Repo Sync
The library skill itself lives in LIBRARY_SKILL_DIR inside the skills-akaihola git repo. When add modifies library.yaml:
git pullinLIBRARY_SKILL_DIRfirst- Make the changes
git add library.yaml && git commit -m "library: added <type> <name>" && git push
Typed Dependencies
The requires field uses typed references:
skill:name— references a skill in the library catalogagent:name— references an agent in the library catalogprompt:name— references a prompt in the library catalog
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
youtube-to-markdown
Convert a YouTube video into clean, readable Markdown using its free auto-generated captions (no paid API needed). Use when the user asks to "convert YouTube video to markdown", "get transcript from YouTube URL", "summarise this video", or wants to turn YouTube subtitles/captions into readable text. Prefer this over youtube-transcription when the video already has auto-generated subtitles — it's free and faster. Accepts YouTube URLs.
brave-search
Search the web using Brave Search API. Use when the user asks to "search the web", "look up current information", "find news about", "research a topic online", "check prices online", or needs up-to-date facts that may not be in the model's training data. Requires BRAVE_SEARCH_API_KEY. Supports structured web results (pages, FAQs, news, videos) and an optional AI summarizer.
verkkokauppa
Search products on the Verkkokauppa.com Finnish webshop. This skill uses the Verkkokauppa search API directly, requiring no browser. Use when the user asks to "search Verkkokauppa", "find products on verkkokauppa.com", "verkkokauppa product search", "check Verkkokauppa prices", or mentions searching the Verkkokauppa store.
clasohlson
Search products on the Clas Ohlson Finland webshop (clasohlson.com/fi/). This skill uses the Voyado Elevate (Apptus eSales) search API directly, requiring no browser. Use when the user asks to "search Clas Ohlson", "find products on clasohlson.com", "clas ohlson product search", "check Clas Ohlson prices", or mentions searching the Finnish Clas Ohlson store.
bauhaus
Search products on the Bauhaus webshop (bauhaus.fi). This skill uses the Algolia search API with automatic key refresh. Use when the user asks to "search Bauhaus", "find products on bauhaus.fi", "bauhaus product search", "check Bauhaus prices", or mentions searching the Bauhaus store.
email-mailbox-analyzer
Analyzes email mailbox usage by extracting IMAP configurations and running imapdu to generate detailed usage reports. Use this skill when you need to analyze email storage, identify large mailboxes, and generate CSV reports.
Didn't find tool you were looking for?