docs(skills): collapse three overlapping skills trees into one verified tree
Three parallel trees documented the same ecosystem: omp-docs/skills/
(two overview pages), tools/npx-skills/ (10 pi-era npm pages), and
tools/vercel-labs-skills/ (11 CLI pages), plus a fourth leaderboard page
at engineering/skills-ecosystem.md. Verbatim overlap (identical SKILL.md
field tables in skills-spec.md vs skill-format.md; 13-agent vs 68-agent
copies of the same upstream table). Consolidated to four concept pages:
- skills/agent-skills.md: standard, format, loading, authoring (merges
skills-spec, skill-format, skill-file-structure, skill-loading,
best-practices, skills-vs-extensions)
- skills/skills-cli.md: CLI reference (merges commands, source-formats,
installation-scope, skill-discovery, lock-file, env-variables,
agent-support, related-links)
- skills/store-wiring.md: moved, fleet ops, links retargeted
- skills/ecosystem.md: replaces skills-ecosystem.md; stale 2026-08-12
top-50 table dropped, replaced with a live top-10 re-queried from the
skills.sh API tonight and the API contract re-verified (zero-based,
200/page, {skills,total,hasMore,page}, total 9909)
All facts re-verified 2026-10-19 against primary sources:
agentskills.io, vercel-labs/skills README + src/cli.ts (command set,
--full-depth) + src/skill-lock.ts (v3 lock, XDG path, wipe-on-old),
live skills.sh API. Deleted superseded core/index-doc.md (old pi-era
docs index). Retargeted all inbound links (tools/index, engineering x3,
packages x3, pi/skills, core/index). Pi-era npm skill packaging is
listed as archived under /pi/.
Refs #29
This commit is contained in:
1 parent
e86e60af39
commit
651924a4bc
41 files changed
+439
-1686
No files matched your search
+6
-17
@@ -10,17 +10,17 @@ Configuration guides and reference material for installed software. Each tool ha
|
||||
* [comfyui](comfyui/index.md) — Node-based AI image generation engine on dankclaw. FLUX.2 klein 4B, CPU backend, systemd managed.
|
||||
* [live-sync](live-sync.md) — Heartbeat daemon committing machine-written paths (memories, managed-skills, live config, dotfiles) in the command-center checkout; systemd user timer, alerts via ntfy.
|
||||
* [[applications|applications]] — Default userspace applications on CachyOS with Niri — browsers, editor, terminal, file manager, audio, screenshots, gaming.
|
||||
* ](ghostty/index.md) — GPU-accelerated terminal emulator with extensive configuration, keybindings, and shaders.
|
||||
* ](gitea/index.md) — Private Git hosting on dankclaw. Quadlet-managed containers: Gitea, PostgreSQL, Caddy.
|
||||
* ](llama-cpp/index.md) — Local LLM inference server supporting GGUF models with OpenAI-compatible API.
|
||||
* [ghostty](ghostty/index.md) — GPU-accelerated terminal emulator with extensive configuration, keybindings, and shaders.
|
||||
* [gitea](gitea/index.md) — Private Git hosting on dankclaw. Quadlet-managed containers: Gitea, PostgreSQL, Caddy.
|
||||
* [llama.cpp](llama-cpp/index.md) — Local LLM inference server supporting GGUF models with OpenAI-compatible API.
|
||||
* [[linux-power-management|linux-power-management]] — Sleep/wake troubleshooting, NVIDIA GPU power management, and diagnostics for Linux systems.
|
||||
* [[noctalia-shell|noctalia-shell]] — Native desktop environment for Niri — launcher, control center, settings, lock screen, session menu, hotkey overlay, media controls, and system management.
|
||||
* [handy](handy.md) — Offline speech-to-text transcription with WebKitGTK backend and Tauri v2 UI.
|
||||
* [niri](niri/index.md) — Scrollable-tiling Wayland compositor — configuration, keybindings, and architecture for the workstation.
|
||||
* [npx Skills](npx-skills/index.md) — Distribution and installation tips for pi skill packages on npm, ecosystem overview, and skill specification.
|
||||
|
||||
* [ornith-llama-cpp-setup](ornith-llama-cpp-setup/index.md) — Setup and reference for running Ornith MoE models with llama.cpp server for local inference.
|
||||
* [[tmux|tmux]] — Terminal multiplexer configuration, extended-keys setup, keyboard input best practices, and reload/restart procedures.
|
||||
* ](vercel-labs-skills/index.md) — Complete list of 68+ supported coding agents, their --agent flags, installation paths, and the SKILL.md specification.
|
||||
|
||||
|
||||
## Adding a New Tool
|
||||
|
||||
@@ -28,16 +28,5 @@ Configuration guides and reference material for installed software. Each tool ha
|
||||
2. Add `index.md` as the entry point (no frontmatter for directory listings)
|
||||
3. Create concept files with frontmatter if content exceeds one file
|
||||
4. Update this index
|
||||
5. Log the change in `log.md`
|
||||
|
||||
* [Default Applications](applications.md) — Default userspace applications on CachyOS with Niri — browsers, editor, terminal, file manager, audio, screenshots, gaming.
|
||||
|
||||
* [CachyOS](cachyos.md) — Arch-based rolling release with performance-optimized kernels, repositories, and gaming stack. Running on the workstation.
|
||||
|
||||
* [Linux Power Management](linux-power-management.md) — Sleep/wake troubleshooting, NVIDIA GPU power management, and diagnostics for Linux systems.
|
||||
|
||||
* [Noctalia Shell](noctalia-shell.md) — Native desktop environment for Niri — launcher, control center, settings, lock screen, session menu, hotkey overlay, media controls, and system management.
|
||||
|
||||
* [Handy](handy.md) — Offline speech-to-text transcription with WebKitGTK backend and Tauri v2 UI.
|
||||
|
||||
* [tmux](tmux.md) — Terminal multiplexer configuration, extended-keys setup, keyboard input best practices, and reload/restart procedures.
|
||||
Skills tooling lives in [/skills/](../skills/index.md), not in this directory.
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
type: reference
|
||||
title: Screenshot Matrix
|
||||
description: Screenshot setup on blankpad — flameshot retired (all modes hang via portal on 2+ outputs, niri#4313); niri-native binds: all-monitors script, focused-screen capture, interactive UI. Includes the niri spawn-sh PATH trap.
|
||||
description: "Screenshot setup on blankpad — flameshot retired (all modes hang via portal on 2+ outputs, niri#4313); niri-native binds: all-monitors script, focused-screen capture, interactive UI. Includes the niri spawn-sh PATH trap."
|
||||
tags:
|
||||
- niri
|
||||
- flameshot
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
---
|
||||
type: guide
|
||||
title: Skill Author Best Practices
|
||||
description: Tips for writing good skill descriptions, organizing files, and distributing pi packages on npm.
|
||||
tags:
|
||||
- unverified
|
||||
- skills
|
||||
- best-practices
|
||||
- authoring
|
||||
timestamp: 2026-07-18
|
||||
verified: 2026-08-28
|
||||
---
|
||||
|
||||
# Best Practices for Skill Authors
|
||||
|
||||
## Description Writing
|
||||
|
||||
1. **Be specific about capabilities** — "Extracts text and tables from PDF files, fills forms, merges documents" vs "Helps with documents"
|
||||
2. **Include trigger phrases** — "Use when working with PDF files or when user mentions PDFs, forms, or document extraction"
|
||||
3. **Keep under 1024 characters**
|
||||
4. **Write in third person**
|
||||
5. **First sentence = what it does, second sentence = when to use it**
|
||||
|
||||
## File Organization
|
||||
|
||||
1. **Use progressive disclosure** — Keep SKILL.md focused; reference detailed docs in `references/`
|
||||
2. **Add scripts for deterministic operations** — When the same code would be generated repeatedly, scripts save tokens and improve reliability
|
||||
3. **Split files when content exceeds ~500 lines** — Agents load the entire file on activation
|
||||
4. **Include a config.json** for configurable paths or settings
|
||||
5. **Add tests** — Include test scripts and mock data for validation
|
||||
|
||||
## Security
|
||||
|
||||
1. **Review skill content before use** — Skills can instruct the model to perform any action
|
||||
2. **Scripts run with your full system permissions** — Only install from trusted sources
|
||||
3. **Document dependencies clearly** — List all required tools, API keys, and setup steps
|
||||
|
||||
## Distribution
|
||||
|
||||
1. **Add `pi-package` keyword** to package.json for npm discoverability
|
||||
2. **Include `video` or `image` fields** in the pi manifest for the gallery
|
||||
3. **Use peerDependencies** for pi-provided packages: `@earendil-works/pi-coding-agent`, `@earendil-works/pi-ai`, `typebox`
|
||||
4. **List runtime deps in `dependencies`** — They get installed automatically
|
||||
|
||||
## Related
|
||||
|
||||
* [Package Structure](/tools/npx-skills/package-structure.md) — How to structure your npm package
|
||||
* [Installation](/tools/npx-skills/installation.md) — How users will install your skills
|
||||
@@ -1,62 +0,0 @@
|
||||
---
|
||||
type: reference
|
||||
title: Ecosystem Resources
|
||||
description: GitHub repositories, npm packages, and community resources for the pi skills ecosystem.
|
||||
tags:
|
||||
- unverified
|
||||
- ecosystem
|
||||
- npm
|
||||
- repositories
|
||||
- community
|
||||
timestamp: 2026-07-18
|
||||
verified: 2026-08-28
|
||||
---
|
||||
|
||||
# Ecosystem Resources
|
||||
|
||||
## Official Documentation
|
||||
|
||||
- [Pi Skills Documentation](https://github.com/earendil-works/pi)
|
||||
- [Pi Packages Documentation](https://github.com/earendil-works/pi)
|
||||
- [Agent Skills Specification](https://agentskills.io/specification)
|
||||
- [Agent Skills Integration Guide](https://agentskills.io/integrate-skills)
|
||||
- [Pi Packages Gallery](https://pi.dev/packages)
|
||||
|
||||
## GitHub Repositories
|
||||
|
||||
| Repository | Description | Stars |
|
||||
|------------|-------------|-------|
|
||||
| [badlogic/pi-skills](https://github.com/badlogic/pi-skills) | Official skills collection (brave-search, browser-tools, Google APIs, transcription) | 2,138 |
|
||||
| [ifiokjr/monopi](https://github.com/ifiokjr/monopi) | One-click pi setup with skills, extensions, themes, subagents | 136 |
|
||||
| [VenTheZone/pi-dots](https://github.com/VenTheZone/pi-dots) | 60+ skills covering research, content, project management, debugging | 42 |
|
||||
| [HazAT/pi-config](https://github.com/HazAT/pi-config) | Personal pi config with skills, extensions, agents | 418 |
|
||||
| [qualisero/awesome-pi-agent](https://github.com/qualisero/awesome-pi-agent) | Awesome list of pi add-ons, hooks, tools, skills | 1,093 |
|
||||
| [getpipher/pi-package-index](https://github.com/getpipher/pi-package-index) | Unofficial community index with GitHub stars + downloads | 2 |
|
||||
| [lukaspanni/pi-package-template](https://github.com/lukaspanni/pi-package-template) | Template for creating pi packages | 0 |
|
||||
|
||||
## Notable npm Packages
|
||||
|
||||
| Package | Description | Keywords |
|
||||
|---------|-------------|----------|
|
||||
| `pi-web-access` | Web search, URL fetching, PDF extraction, YouTube analysis | pi-package, web-search, perplexity |
|
||||
| `@wierdbytes/pi-peon` | Sound-pack player for pi (installed) | pi-package, peon, sound |
|
||||
| `bigpowers` | 73 agent skills for solo developers | skills, agents, claude, pi-package |
|
||||
| `pi-spark` | Polishes daily pi experience | pi-coding-agent, pi-package |
|
||||
| `@anton-kochev/pi-skills` | Planning, TDD, SRS, requirements skills | pi-package, pi-skill, tdd |
|
||||
| `@monopi/skills` | Curated skill packs (debug-helper, btw, nushell) | pi-package, skills |
|
||||
| `@dietrichgebert/ponytail` | Lazy senior dev mode with skills | opencode, pi-package, skills |
|
||||
| `pi-mcp-adapter` | MCP adapter for pi | pi-package, mcp |
|
||||
| `pi-subagents` | Subagent delegation with chains | pi-package, subagents |
|
||||
| `pi-lens` | Real-time code feedback (LSP, linters) | pi-package, linter |
|
||||
| `@vanillagreen/pi-skills-manager` | Skills manager with /skill menu | pi-package, skills, manager |
|
||||
|
||||
## Community Resources
|
||||
|
||||
- [pi-package.rectorspace.com](https://pi-package.rectorspace.com) — Unofficial package index with stars, downloads, maintenance signals
|
||||
- [Anthropic Skills](https://github.com/anthropics/skills) — Document processing skills (docx, pdf, pptx, xlsx)
|
||||
- [skills.sh](https://skills.sh) — Skills directory (by Vercel Labs)
|
||||
|
||||
## Related
|
||||
|
||||
* [Installation](/tools/npx-skills/installation.md) — How to install from these resources
|
||||
* [Best Practices](/tools/npx-skills/best-practices.md) — How to contribute your own skills
|
||||
@@ -1,18 +0,0 @@
|
||||
# Npx Skills — Distribution & Installation
|
||||
|
||||
Tips for writing good skill descriptions, organizing files, and distributing pi packages on npm.
|
||||
|
||||
## Concept Files
|
||||
|
||||
| File | Type | Description |
|
||||
|------|------|-------------|
|
||||
| [best-practices.md](best-practices.md) | best-practices | Tips for writing good skill descriptions, organizing files, and distributing ... |
|
||||
| [ecosystem.md](ecosystem.md) | reference | GitHub repositories, npm packages, and community resources for the pi skills ... |
|
||||
| [installation.md](installation.md) | howto | Three methods for installing skills — pi install, npx-based setup tools, and ... |
|
||||
| [package-structure.md](package-structure.md) | reference | How pi packages bundle skills, extensions, prompts, and themes into a single ... |
|
||||
| [skill-commands.md](skill-commands.md) | reference | The /skill:name command system for explicitly loading and executing skills wi... |
|
||||
| [skill-file-structure.md](skill-file-structure.md) | reference | The directory structure of a skill — SKILL.md as the required entry point, wi... |
|
||||
| [skill-loading.md](skill-loading.md) | reference | The discovery flow, progressive disclosure pattern, and system prompt integra... |
|
||||
| [skills-spec.md](skills-spec.md) | reference | The Agent Skills standard that defines SKILL.md format, frontmatter fields, a... |
|
||||
| [skills-vs-extensions.md](skills-vs-extensions.md) | comparison | Side-by-side comparison of skills (markdown-based) vs extensions (TypeScript-... |
|
||||
|
||||
@@ -1,81 +0,0 @@
|
||||
---
|
||||
type: howto
|
||||
title: Installing Skills via npm / npx
|
||||
description: Three methods for installing skills — pi install, npx-based setup tools, and manual git clone.
|
||||
tags:
|
||||
- unverified
|
||||
- installation
|
||||
- npm
|
||||
- npx
|
||||
timestamp: 2026-07-18
|
||||
verified: 2026-08-28
|
||||
---
|
||||
|
||||
# Installing Skills via NPM / Npx
|
||||
|
||||
## Method 1: Direct `pi install` (recommended)
|
||||
|
||||
```bash
|
||||
# Install a package containing skills
|
||||
pi install npm:pi-web-access
|
||||
pi install npm:@anton-kochev/pi-skills
|
||||
pi install npm:bigpowers
|
||||
pi install npm:@monopi/skills
|
||||
|
||||
# Install from GitHub (also works for packages with skills)
|
||||
pi install git:github.com/badlogic/pi-skills
|
||||
pi install https://github.com/badlogic/pi-skills
|
||||
|
||||
# Project-level install (goes to .pi/settings.json)
|
||||
pi install -l npm:pi-web-access
|
||||
|
||||
# Try without installing (current session only)
|
||||
pi -e npm:pi-web-access
|
||||
```
|
||||
|
||||
## Method 2: Npx-based setup tools
|
||||
|
||||
Some meta-installers provide one-command setup:
|
||||
|
||||
```bash
|
||||
# monopi: one-command setup for pi with skills, extensions, themes, etc.
|
||||
npx @monopi/monopi
|
||||
|
||||
# Pin a version
|
||||
npx @monopi/monopi --version 0.2.13
|
||||
|
||||
# Project-local install
|
||||
npx @monopi/monopi --local
|
||||
|
||||
# Remove all monopi packages
|
||||
npx @monopi/monopi --remove
|
||||
```
|
||||
|
||||
## Method 3: Manual clone (git repos)
|
||||
|
||||
```bash
|
||||
# Clone the official pi-skills collection
|
||||
git clone https://github.com/badlogic/pi-skills ~/.pi/agent/skills/pi-skills
|
||||
|
||||
# Or project-level
|
||||
git clone https://github.com/badlogic/pi-skills .pi/skills/pi-skills
|
||||
```
|
||||
|
||||
## Package Sources
|
||||
|
||||
| Source Type | Example | Notes |
|
||||
|-------------|---------|-------|
|
||||
| **npm** | `npm:@foo/bar@1.0.0` | Pinned versions, installed to `~/.pi/agent/npm/` |
|
||||
| **git** | `git:github.com/user/repo@v1` | Pinned to tags/commits, cloned to `~/.pi/agent/git/` |
|
||||
| **local** | `./relative/path` | Points to local directory, added without copying |
|
||||
|
||||
## Dependencies
|
||||
|
||||
- Runtime dependencies belong in `dependencies` in `package.json`
|
||||
- Pi-provided packages (`@earendil-works/pi-ai`, `@earendil-works/pi-agent-core`, `@earendil-works/pi-coding-agent`, `@earendil-works/pi-tui`, `typebox`) as `peerDependencies` with `"*"` range
|
||||
- When pi installs from npm or git, it runs `npm install` automatically
|
||||
|
||||
## Related
|
||||
|
||||
* [Package Structure](/tools/npx-skills/package-structure.md) — How pi packages are structured for npm distribution
|
||||
* [Best Practices](/tools/npx-skills/best-practices.md) — Distribution tips for skill authors
|
||||
@@ -1,79 +0,0 @@
|
||||
---
|
||||
type: reference
|
||||
title: Pi Package Structure
|
||||
description: How pi packages bundle skills, extensions, prompts, and themes into a single npm package with a pi manifest.
|
||||
tags:
|
||||
- unverified
|
||||
- packages
|
||||
- npm
|
||||
- distribution
|
||||
timestamp: 2026-07-18
|
||||
verified: 2026-08-28
|
||||
---
|
||||
|
||||
# Pi Packages — The Distribution Mechanism
|
||||
|
||||
Pi packages are npm packages that declare resources via a `pi` manifest in `package.json`. They are the primary way to distribute skills (along with extensions, prompts, and themes) through npm.
|
||||
|
||||
## Package Structure
|
||||
|
||||
```
|
||||
my-pi-package/
|
||||
├── package.json # npm metadata + pi manifest
|
||||
├── skills/ # Conventional directory (auto-discovered)
|
||||
│ ├── my-skill/
|
||||
│ │ └── SKILL.md
|
||||
│ └── another-skill/
|
||||
│ └── SKILL.md
|
||||
├── extensions/ # TypeScript extensions
|
||||
├── prompts/ # Prompt templates
|
||||
├── themes/ # TUI themes
|
||||
└── README.md
|
||||
```
|
||||
|
||||
## Package.json with pi Manifest
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "my-pi-package",
|
||||
"keywords": ["pi-package"],
|
||||
"pi": {
|
||||
"extensions": ["./extensions"],
|
||||
"skills": ["./skills"],
|
||||
"prompts": ["./prompts"],
|
||||
"themes": ["./themes"]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Gallery Metadata
|
||||
|
||||
Packages tagged with `pi-package` appear on the [pi.dev/packages gallery](https://pi.dev/packages). Add preview media:
|
||||
|
||||
```json
|
||||
{
|
||||
"pi": {
|
||||
"skills": ["./skills"],
|
||||
"video": "https://example.com/demo.mp4",
|
||||
"image": "https://example.com/screenshot.png"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Two-Layer Model
|
||||
|
||||
```
|
||||
npm package (tagged pi-package)
|
||||
├── pi.skills manifest → points to ./skills/
|
||||
└── skills/
|
||||
├── brave-search/SKILL.md
|
||||
├── browser-tools/SKILL.md
|
||||
└── tdd-workflow/SKILL.md
|
||||
```
|
||||
|
||||
Skills are the **content** (SKILL.md + scripts). Pi packages are the **delivery mechanism** (npm tarball with a `pi` manifest).
|
||||
|
||||
## Related
|
||||
|
||||
* [Installation](/tools/npx-skills/installation.md) — How to install pi packages
|
||||
* [Skill File Structure](/tools/npx-skills/skill-file-structure.md) — What goes inside a skill
|
||||
@@ -1,35 +0,0 @@
|
||||
---
|
||||
type: reference
|
||||
title: Skill Commands
|
||||
description: The /skill:name command system for explicitly loading and executing skills with optional arguments.
|
||||
tags:
|
||||
- unverified
|
||||
- skills
|
||||
- commands
|
||||
timestamp: 2026-07-18
|
||||
verified: 2026-08-28
|
||||
---
|
||||
|
||||
# Skill Commands (`/skill:name`)
|
||||
|
||||
Skills register as `/skill:name` commands:
|
||||
|
||||
```bash
|
||||
/skill:brave-search # Load and execute the skill
|
||||
/skill:pdf-tools extract # Load skill with arguments
|
||||
```
|
||||
|
||||
Arguments after the command are appended to the skill content as `User: <args>`.
|
||||
|
||||
Toggle skill commands via `/settings` in interactive mode or in `settings.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"enableSkillCommands": true
|
||||
}
|
||||
```
|
||||
|
||||
## Related
|
||||
|
||||
* [Skill Loading](../npx-skills/skill-loading.md) — How skills are normally loaded
|
||||
* [Npx Skills Overview](../npx-skills/index.md) — Settings and package control
|
||||
@@ -1,65 +0,0 @@
|
||||
---
|
||||
type: reference
|
||||
title: Skill File Structure
|
||||
description: The directory structure of a skill — SKILL.md as the required entry point, with optional scripts, references, and assets directories.
|
||||
tags:
|
||||
- unverified
|
||||
- skills
|
||||
- structure
|
||||
- SKILL.md
|
||||
timestamp: 2026-07-18
|
||||
verified: 2026-08-28
|
||||
---
|
||||
|
||||
# Skill File Structure
|
||||
|
||||
A skill is a **directory** with a `SKILL.md` file. Everything else is freeform.
|
||||
|
||||
## Standard Structure
|
||||
|
||||
```
|
||||
my-skill/
|
||||
├── SKILL.md # Required: frontmatter + instructions
|
||||
├── scripts/ # Helper scripts (bash, js, python, etc.)
|
||||
│ ├── process.sh
|
||||
│ └── analyze.js
|
||||
├── references/ # Detailed docs loaded on-demand
|
||||
│ ├── api-reference.md
|
||||
│ └── FORMS.md
|
||||
├── assets/ # Templates, configs, binary data
|
||||
│ └── template.json
|
||||
├── config.json # Skill-specific configuration
|
||||
└── tests/ # Test scripts (optional)
|
||||
└── test_runner.sh
|
||||
```
|
||||
|
||||
## Real Example: zim-knowledge-base
|
||||
|
||||
```
|
||||
zim-knowledge-base/
|
||||
├── SKILL.md # Main skill instructions
|
||||
├── config.json # ZIM file path configuration
|
||||
├── scripts/
|
||||
│ ├── search.sh # Search ZIM file index
|
||||
│ ├── extract.sh # Extract article as HTML
|
||||
│ ├── list.sh # List article titles
|
||||
│ └── metadata.sh # Get article metadata
|
||||
└── tests/
|
||||
├── mock_zimdump.sh # Mock for testing
|
||||
├── test_runner.sh # Test harness
|
||||
└── test_zim_file.zim # Test fixture
|
||||
```
|
||||
|
||||
## Real Example: brave-search (from badlogic/pi-skills)
|
||||
|
||||
```
|
||||
brave-search/
|
||||
├── SKILL.md # Setup + usage instructions
|
||||
├── search.js # Brave Search API wrapper
|
||||
└── content.js # Page content extraction
|
||||
```
|
||||
|
||||
## Related
|
||||
|
||||
* [Skills Specification](/tools/npx-skills/skills-spec.md) — Frontmatter fields and requirements
|
||||
* [Best Practices](/tools/npx-skills/best-practices.md) — File organization tips
|
||||
@@ -1,42 +0,0 @@
|
||||
---
|
||||
type: reference
|
||||
title: How Pi Loads Skills
|
||||
description: The discovery flow, progressive disclosure pattern, and system prompt integration for skills in pi.
|
||||
tags:
|
||||
- unverified
|
||||
- skills
|
||||
- loading
|
||||
- progressive-disclosure
|
||||
timestamp: 2026-07-18
|
||||
verified: 2026-08-28
|
||||
---
|
||||
|
||||
# How the Pi Agent Loads and Uses Skills
|
||||
|
||||
## Discovery Flow
|
||||
|
||||
1. Pi scans all configured skill locations at startup
|
||||
2. Extracts names and descriptions from each `SKILL.md`
|
||||
3. Builds the system prompt with skill descriptions in XML format
|
||||
4. The LLM decides which skill(s) to activate based on the user's prompt
|
||||
5. When activated, the agent reads the full SKILL.md using the `read` tool
|
||||
|
||||
## Progressive Disclosure Pattern
|
||||
|
||||
```
|
||||
System prompt (always in context):
|
||||
- "Available skills: brave-search (Web search...), browser-tools (Browser automation...), ..."
|
||||
|
||||
User: "Search for information about React hooks"
|
||||
|
||||
Agent decides: activate brave-search
|
||||
Agent reads: ~/.pi/agent/skills/brave-search/SKILL.md (full file)
|
||||
Agent executes: {baseDir}/search.js "React hooks"
|
||||
```
|
||||
|
||||
## This is progressive disclosure: only descriptions are always in context, full instructions load on-demand.
|
||||
|
||||
## Related
|
||||
|
||||
* [Skills Specification](/tools/npx-skills/skills-spec.md) — What the agent sees in the system prompt
|
||||
* [Skill Commands](/tools/npx-skills/skill-commands.md) — The `/skill:name` override
|
||||
@@ -1,70 +0,0 @@
|
||||
---
|
||||
type: reference
|
||||
title: Agent Skills Specification
|
||||
description: The Agent Skills standard that defines SKILL.md format, frontmatter fields, and cross-agent compatibility.
|
||||
tags:
|
||||
- unverified
|
||||
- agent-skills
|
||||
- specification
|
||||
- npm
|
||||
timestamp: 2026-07-18
|
||||
verified: 2026-08-28
|
||||
---
|
||||
|
||||
# Agent Skills Specification
|
||||
|
||||
Pi implements the [Agent Skills standard](https://agentskills.io/specification), warning about most violations but remaining lenient. The specification defines:
|
||||
|
||||
- A **frontmatter block** (YAML) at the top of `SKILL.md` with required `name` and `description` fields
|
||||
- A **Markdown body** with the skill's instructions
|
||||
- Optional subdirectories: `scripts/`, `references/`, `assets/`
|
||||
|
||||
The specification is designed to be **cross-agent-compatible**: skills written for pi work with Claude Code, Codex CLI, Amp, Droid, and other compatible agents.
|
||||
|
||||
## Frontmatter Fields
|
||||
|
||||
| Field | Required | Description |
|
||||
|-------|----------|-------------|
|
||||
| `name` | **Yes** | Max 64 chars. Lowercase a-z, 0-9, hyphens only. No leading/trailing hyphens. No consecutive hyphens. |
|
||||
| `description` | **Yes** | Max 1024 chars. What the skill does and when to use it. **This is the only thing the agent sees when deciding whether to activate the skill.** |
|
||||
| `license` | No | License name or reference to bundled file. |
|
||||
| `compatibility` | No | Max 500 chars. Environment requirements. |
|
||||
| `metadata` | No | Arbitrary key-value mapping. |
|
||||
| `allowed-tools` | No | Space-delimited list of pre-approved tools (experimental). |
|
||||
| `disable-model-invocation` | No | When `true`, skill is hidden from system prompt. Users must use `/skill:name` explicitly. |
|
||||
|
||||
### Name Rules
|
||||
|
||||
Valid: `pdf-processing`, `data-analysis`, `code-review`
|
||||
Invalid: `PDF-Processing`, `-pdf`, `pdf--processing`
|
||||
|
||||
**Note:** Pi does not require the name to match the parent directory. The Agent Skills standard does, but that requirement is suboptimal for shared skill directories.
|
||||
|
||||
### Description Best Practices
|
||||
|
||||
The description determines when the agent loads the skill. Be specific.
|
||||
|
||||
**Good:**
|
||||
```yaml
|
||||
description: Extracts text and tables from PDF files, fills PDF forms, and merges multiple PDFs. Use when working with PDF documents.
|
||||
```
|
||||
|
||||
**Poor:**
|
||||
```yaml
|
||||
description: Helps with PDFs.
|
||||
```
|
||||
|
||||
## Cross-Agent Compatibility
|
||||
|
||||
Skills follow a shared specification that works across:
|
||||
|
||||
- Pi (`~/.pi/agent/skills/`)
|
||||
- Claude Code (`~/.claude/skills/`)
|
||||
- Codex (`~/.codex/skills/`)
|
||||
- OpenCode (`~/.config/opencode/skills/`)
|
||||
- And [68+ other agents](/tools/vercel-labs-skills/agent-support.md)
|
||||
|
||||
## Related
|
||||
|
||||
* [Skill File Structure](/tools/npx-skills/skill-file-structure.md) — How to organize SKILL.md and its supporting files
|
||||
* [Ecosystem](/tools/npx-skills/ecosystem.md) — Where to find community skills
|
||||
@@ -1,50 +0,0 @@
|
||||
---
|
||||
type: reference
|
||||
title: Skills vs Extensions
|
||||
description: Side-by-side comparison of skills (markdown-based) vs extensions (TypeScript-based) for pi coding agent.
|
||||
tags:
|
||||
- unverified
|
||||
- skills
|
||||
- extensions
|
||||
- comparison
|
||||
timestamp: 2026-07-18
|
||||
verified: 2026-08-28
|
||||
---
|
||||
|
||||
# Skills vs Extensions
|
||||
|
||||
| Feature | Skills | Extensions |
|
||||
|---------|--------|------------|
|
||||
| **Format** | Markdown (`SKILL.md` + optional scripts) | TypeScript (`.ts` files) |
|
||||
| **Purpose** | Instructions for the LLM to follow | Code that intercepts events, registers tools/commands |
|
||||
| **Execution** | Agent reads and follows instructions | Runs in pi's Node.js runtime |
|
||||
| **Loading** | On-demand (progressive disclosure) | Always loaded at startup |
|
||||
| **Power** | Can instruct the agent to run anything | Full programmatic access to pi's API |
|
||||
| **Security** | Review content (instructs model) | Review code (runs arbitrary code) |
|
||||
| **Best for** | Domain knowledge, workflows, scripts | Permission gates, custom tools, event handling |
|
||||
| **Location** | `skills/` directory | `extensions/` directory |
|
||||
| **Can distribute via npm?** | Yes (via pi packages) | Yes (via pi packages) |
|
||||
|
||||
## When to Use Each
|
||||
|
||||
- **Skill**: You want to teach the agent a new workflow, provide domain expertise, or bundle helper scripts
|
||||
- **Extension**: You need to intercept tool calls, register new LLM-callable tools, modify system prompts programmatically, or add custom TUI components
|
||||
|
||||
## They Can Work Together
|
||||
|
||||
A pi package can contain both:
|
||||
|
||||
```json
|
||||
{
|
||||
"pi": {
|
||||
"extensions": ["./extensions"],
|
||||
"skills": ["./skills"]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Example: `pi-web-access` provides both a web-search extension AND skill documentation for it.
|
||||
|
||||
## Related
|
||||
|
||||
* [Package Structure](/tools/npx-skills/package-structure.md) — How to bundle both in one npm package
|
||||
@@ -1,84 +0,0 @@
|
||||
---
|
||||
type: reference
|
||||
title: Skills CLI Agent Support Matrix
|
||||
description: Complete list of 68+ supported coding agents, their --agent flags, and installation paths (project and global).
|
||||
tags:
|
||||
- unverified
|
||||
- skills
|
||||
- agents
|
||||
- compatibility
|
||||
timestamp: 2026-07-18
|
||||
verified: 2026-08-28
|
||||
---
|
||||
|
||||
# Agent Support
|
||||
|
||||
The CLI supports **68+ agents**. It automatically detects which coding agents you have installed. If none are detected, you'll be prompted to select which agents to install to.
|
||||
|
||||
## Full Agent Path Table
|
||||
|
||||
| Agent | `--agent` | Project Path | Global Path |
|
||||
|-------|-----------|--------------|-------------|
|
||||
| Amp, Replit, Universal | `amp`, `replit`, `universal` | `.agents/skills/` | `~/.config/agents/skills/` |
|
||||
| Claude Code | `claude-code` | `.claude/skills/` | `~/.claude/skills/` |
|
||||
| Cursor | `cursor` | `.agents/skills/` | `~/.cursor/skills/` |
|
||||
| Codex | `codex` | `.agents/skills/` | `~/.codex/skills/` |
|
||||
| OpenCode | `opencode` | `.agents/skills/` | `~/.config/opencode/skills/` |
|
||||
| Cline, Dexto, Kimi Code CLI, Loaf, Warp, Zed | `cline`, `dexto`, `kimi-code-cli`, `loaf`, `warp`, `zed` | `.agents/skills/` | `~/.agents/skills/` |
|
||||
| Gemini CLI | `gemini-cli` | `.agents/skills/` | `~/.gemini/skills/` |
|
||||
| GitHub Copilot | `github-copilot` | `.agents/skills/` | `~/.copilot/skills/` |
|
||||
| Pi | `pi` | `.pi/skills/` | `~/.pi/agent/skills/` |
|
||||
| Roo Code | `roo` | `.roo/skills/` | `~/.roo/skills/` |
|
||||
| Windsurf | `windsurf` | `.windsurf/skills/` | `~/.codeium/windsurf/skills/` |
|
||||
| Kiro CLI | `kiro-cli` | `.kiro/skills/` | `~/.kiro/skills/` |
|
||||
| Continue | `continue` | `.continue/skills/` | `~/.continue/skills/` |
|
||||
| Goose | `goose` | `.goose/skills/` | `~/.config/goose/skills/` |
|
||||
| OpenHands | `openhands` | `.openhands/skills/` | `~/.openhands/skills/` |
|
||||
| Trae | `trae` | `.trae/skills/` | `~/.trae/skills/` |
|
||||
| Qoder | `qoder` | `.qoder/skills/` | `~/.qoder/skills/` |
|
||||
| Qwen Code | `qwen-code` | `.qwen/skills/` | `~/.qwen/skills/` |
|
||||
| iFlow CLI | `iflow-cli` | `.iflow/skills/` | `~/.iflow/skills/` |
|
||||
| Deep Agents | `deepagents` | `.agents/skills/` | `~/.deepagents/agent/skills/` |
|
||||
| Droid / Factory AI | `droid` | `.factory/skills/` | `~/.factory/skills/` |
|
||||
| Firebender | `firebender` | `.agents/skills/` | `~/.firebender/skills/` |
|
||||
| Devin for Terminal | `devin` | `.devin/skills/` | `~/.config/devin/skills/` |
|
||||
| Kilo Code | `kilo` | `.kilocode/skills/` | `~/.kilocode/skills/` |
|
||||
| Crush | `crush` | `.crush/skills/` | `~/.config/crush/skills/` |
|
||||
| Anthropic Antigravity | `antigravity` | `.agents/skills/` | `~/.gemini/antigravity/skills/` |
|
||||
| Jazz | `jazz` | `.jazz/skills/` | `~/.jazz/skills/` |
|
||||
| Junie | `junie` | `.junie/skills/` | `~/.junie/skills/` |
|
||||
| Kode | `kode` | `.kode/skills/` | `~/.kode/skills/` |
|
||||
| Lingma | `lingma` | `.lingma/skills/` | `~/.lingma/skills/` |
|
||||
| Moxby | `moxby` | `.moxby/skills/` | `~/.moxby/skills/` |
|
||||
| Mux | `mux` | `.mux/skills/` | `~/.mux/skills/` |
|
||||
| Pochi | `pochi` | `.pochi/skills/` | `~/.pochi/skills/` |
|
||||
| AdaL | `adal` | `.adal/skills/` | `~/.adal/skills/` |
|
||||
| Neovate | `neovate` | `.neovate/skills/` | `~/.neovate/skills/` |
|
||||
| AiderDesk | `aider-desk` | `.aider-desk/skills/` | `~/.aider-desk/skills/` |
|
||||
| IBM Bob | `bob` | `.bob/skills/` | `~/.bob/skills/` |
|
||||
| CodeArts Agent | `codearts-agent` | `.codeartsdoer/skills/` | `~/.codeartsdoer/skills/` |
|
||||
| CodeBuddy | `codebuddy` | `.codebuddy/skills/` | `~/.codebuddy/skills/` |
|
||||
| Codemaker | `codemaker` | `.codemaker/skills/` | `~/.codemaker/skills/` |
|
||||
| Command Code | `command-code` | `.commandcode/skills/` | `~/.commandcode/skills/` |
|
||||
| Cortex Code | `cortex` | `.cortex/skills/` | `~/.snowflake/cortex/skills/` |
|
||||
| Eve | `eve` | `agent/skills/` | N/A (project-only) |
|
||||
| ForgeCode | `forgecode` | `.forge/skills/` | `~/.forge/skills/` |
|
||||
| Hermes Agent | `hermes-agent` | `.hermes/skills/` | `~/.hermes/skills/` |
|
||||
| inference.sh | `inference-sh` | `.inferencesh/skills/` | `~/.inferencesh/skills/` |
|
||||
| Kode | `kode` | `.kode/skills/` | `~/.kode/skills/` |
|
||||
| MCPJam | `mcpjam` | `.mcpjam/skills/` | `~/.mcpjam/skills/` |
|
||||
| Mistral Vibe | `mistral-vibe` | `.vibe/skills/` | `~/.vibe/skills/` |
|
||||
| Ona | `ona` | `.ona/skills/` | `~/.ona/skills/` |
|
||||
| PromptScript | `promptscript` | `.agents/skills/` | N/A (project-only) |
|
||||
| Reasonix | `reasonix` | `.reasonix/skills/` | `~/.reasonix/skills/` |
|
||||
| Rovo Dev | `rovodev` | `.rovodev/skills/` | `~/.rovodev/skills/` |
|
||||
| Tabnine CLI | `tabnine-cli` | `.tabnine/agent/skills/` | `~/.tabnine/agent/skills/` |
|
||||
| Terramind | `terramind` | `.terramind/skills/` | `~/.terramind/skills/` |
|
||||
| Tinycloud | `tinycloud` | `.tinycloud/skills/` | `~/.tinycloud/skills/` |
|
||||
| Zencoder, Zenflow | `zencoder`, `zenflow` | `.zencoder/skills/` | `~/.zencoder/skills/` |
|
||||
|
||||
> **Kiro CLI users:** The default agent automatically loads skills from `.kiro/skills/` and `~/.kiro/skills/` — no configuration needed.
|
||||
|
||||
## Related
|
||||
|
||||
* [Commands](/tools/vercel-labs-skills/commands.md) — Using the `--agent` flag with commands
|
||||
@@ -1,116 +0,0 @@
|
||||
---
|
||||
type: reference
|
||||
title: Skills CLI Commands
|
||||
description: Complete reference for all skills CLI commands — add, use, list, find, update, remove, init, experimental_install, experimental_sync.
|
||||
tags:
|
||||
- unverified
|
||||
- skills
|
||||
- cli
|
||||
- commands
|
||||
timestamp: 2026-07-18
|
||||
verified: 2026-08-28
|
||||
---
|
||||
|
||||
# Commands Reference
|
||||
|
||||
## `skills add` — Install Skills
|
||||
|
||||
Install skills from a source (git repo, URL, or local path) into your agent directories.
|
||||
|
||||
```bash
|
||||
npx skills add <source> [options]
|
||||
```
|
||||
|
||||
### Options
|
||||
|
||||
| Option | Description |
|
||||
|--------|-------------|
|
||||
| `-g, --global` | Install to user directory (`~/`) instead of project (`./`) |
|
||||
| `-a, --agent <agents...>` | Target specific agents |
|
||||
| `-s, --skill <skills...>` | Install specific skills by name. Use `'*'` for all. |
|
||||
| `-l, --list` | List available skills without installing |
|
||||
| `--copy` | Copy files instead of symlinking |
|
||||
| `-y, --yes` | Skip all confirmation prompts |
|
||||
| `--all` | Install all skills to all agents without prompts |
|
||||
|
||||
### Examples
|
||||
|
||||
```bash
|
||||
npx skills add vercel-labs/agent-skills --list
|
||||
npx skills add vercel-labs/agent-skills --skill frontend-design --skill skill-creator
|
||||
npx skills add vercel-labs/agent-skills -a claude-code -a opencode
|
||||
npx skills add vercel-labs/agent-skills --all
|
||||
```
|
||||
|
||||
## `skills use` — Use Without Installing
|
||||
|
||||
Generate a prompt for one skill, or start a supported coding agent interactively with the skill loaded.
|
||||
|
||||
```bash
|
||||
npx skills use <source> [options]
|
||||
# Generate prompt only
|
||||
npx skills use vercel-labs/agent-skills@web-design-guidelines | claude
|
||||
# Use with specific agent
|
||||
npx skills use vercel-labs/agent-skills --skill web-design-guidelines --agent claude-code
|
||||
```
|
||||
|
||||
## `skills list` (alias: `ls`) — List Installed Skills
|
||||
|
||||
```bash
|
||||
npx skills list
|
||||
npx skills ls -g # Global only
|
||||
npx skills ls -a claude-code -a cursor
|
||||
```
|
||||
|
||||
## `skills find` — Search for Skills
|
||||
|
||||
```bash
|
||||
npx skills find # Interactive search
|
||||
npx skills find typescript # Search by keyword
|
||||
npx skills find react --owner vercel
|
||||
```
|
||||
|
||||
## `skills update` — Update Installed Skills
|
||||
|
||||
```bash
|
||||
npx skills update # All skills (interactive)
|
||||
npx skills update my-skill # Single skill
|
||||
npx skills update -g # Global only
|
||||
npx skills update -y # Non-interactive
|
||||
```
|
||||
|
||||
## `skills remove` (alias: `rm`) — Remove Installed Skills
|
||||
|
||||
```bash
|
||||
npx skills remove # Interactive
|
||||
npx skills remove web-design-guidelines
|
||||
npx skills remove --all # Remove everything
|
||||
```
|
||||
|
||||
## `skills init` — Create a New SKILL.md Template
|
||||
|
||||
```bash
|
||||
npx skills init # In current directory
|
||||
npx skills init my-skill # In a subdirectory
|
||||
```
|
||||
|
||||
## `skills experimental_install` — Restore from Lock File
|
||||
|
||||
```bash
|
||||
npx skills experimental_install
|
||||
```
|
||||
|
||||
## Aliases
|
||||
|
||||
| Alias | Full Command |
|
||||
|-------|-------------|
|
||||
| `skills a` | `skills add` |
|
||||
| `skills i` | `skills experimental_install` |
|
||||
| `skills install` (no args) | `skills experimental_install` |
|
||||
| `skills ls` | `skills list` |
|
||||
| `skills rm` | `skills remove` |
|
||||
|
||||
## Related
|
||||
|
||||
* [Source Formats](/tools/vercel-labs-skills/source-formats.md) — What sources you can use with add/use
|
||||
* [Installation Scope](/tools/vercel-labs-skills/installation-scope.md) — Global vs project
|
||||
@@ -1,33 +0,0 @@
|
||||
---
|
||||
type: reference
|
||||
title: Skills CLI Environment Variables
|
||||
description: Environment variables — INSTALL_INTERNAL_SKILLS, DISABLE_TELEMETRY, DO_NOT_TRACK.
|
||||
tags:
|
||||
- unverified
|
||||
- skills
|
||||
- environment
|
||||
- telemetry
|
||||
timestamp: 2026-07-18
|
||||
verified: 2026-08-28
|
||||
---
|
||||
|
||||
# Environment Variables
|
||||
|
||||
| Variable | Description |
|
||||
|----------|-------------|
|
||||
| `INSTALL_INTERNAL_SKILLS` | Set to `1` or `true` to show and install skills marked as `internal: true` |
|
||||
| `DISABLE_TELEMETRY` | Set to disable anonymous usage telemetry |
|
||||
| `DO_NOT_TRACK` | Alternative way to disable telemetry |
|
||||
|
||||
```bash
|
||||
# Install internal skills
|
||||
INSTALL_INTERNAL_SKILLS=1 npx skills add vercel-labs/agent-skills --list
|
||||
```
|
||||
|
||||
## Telemetry
|
||||
|
||||
The CLI collects anonymous usage data to help improve the tool. No personal information is collected. Telemetry is automatically disabled in CI environments.
|
||||
|
||||
## Related
|
||||
|
||||
* [SKILL.md Format](/tools/vercel-labs-skills/skill-format.md) — `metadata.internal: true`
|
||||
@@ -1,19 +0,0 @@
|
||||
# Vercel Labs `skills` CLI
|
||||
|
||||
Complete list of 68+ supported coding agents, their --agent flags, and installation paths (project and global).
|
||||
|
||||
## Concept Files
|
||||
|
||||
| File | Type | Description |
|
||||
|------|------|-------------|
|
||||
| [agent-support.md](agent-support.md) | reference | Complete list of 68+ supported coding agents, their --agent flags, and instal... |
|
||||
| [commands.md](commands.md) | reference | Complete reference for all skills CLI commands — add, use, list, find, update... |
|
||||
| [env-variables.md](env-variables.md) | reference | Environment variables — INSTALL_INTERNAL_SKILLS, DISABLE_TELEMETRY, DO_NOT_TR... |
|
||||
| [installation-scope.md](installation-scope.md) | reference | Project vs global installation, symlink vs copy methods. |
|
||||
| [lock-file.md](lock-file.md) | reference | Version pinning and update checking via global and local lock files (.skill-l... |
|
||||
| [related-links.md](related-links.md) | reference | Links to the Agent Skills specification, skills directory, integration guide,... |
|
||||
| [skill-discovery.md](skill-discovery.md) | reference | How the skills CLI discovers SKILL.md files in repositories — flat layout, ca... |
|
||||
| [skill-format.md](skill-format.md) | reference | The required frontmatter fields, optional fields, internal skills, and struct... |
|
||||
| [skill-store-wiring.md](skill-store-wiring.md) | reference | How omp's agent/skills directory is symlinked into the skills CLI global store, and where lockfile provenance lives. |
|
||||
| [source-formats.md](source-formats.md) | reference | All accepted source formats for skills add and use — GitHub shorthand, full U... |
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
---
|
||||
type: reference
|
||||
title: Skills CLI Installation Scope
|
||||
description: Project vs global installation, symlink vs copy methods.
|
||||
tags:
|
||||
- unverified
|
||||
- skills
|
||||
- installation
|
||||
- scope
|
||||
timestamp: 2026-07-18
|
||||
verified: 2026-08-28
|
||||
---
|
||||
|
||||
# Installation Scope
|
||||
|
||||
## Project vs Global
|
||||
|
||||
| Scope | Flag | Location | Use Case |
|
||||
|-------|------|----------|----------|
|
||||
| **Project** | _(default)_ | `./<agent>/skills/` | Committed with your project, shared with team |
|
||||
| **Global** | `-g` | `~/<agent>/skills/` | Available across all projects |
|
||||
|
||||
## Symlink vs Copy
|
||||
|
||||
When installing interactively, you can choose:
|
||||
|
||||
| Method | Description |
|
||||
|--------|-------------|
|
||||
| **Symlink** _(Recommended)_ | Creates symlinks from each agent to a canonical copy. Single source of truth, easy updates. |
|
||||
| **Copy** | Creates independent copies for each agent. Use when symlinks are not supported. |
|
||||
|
||||
Use `--copy` to force copy mode.
|
||||
|
||||
## Related
|
||||
|
||||
* [Commands](/tools/vercel-labs-skills/commands.md) — add, use, list, remove commands
|
||||
@@ -1,43 +0,0 @@
|
||||
---
|
||||
type: reference
|
||||
title: Skills CLI Lock File System
|
||||
description: Version pinning and update checking via global and local lock files (.skill-lock.json and skills-lock.json).
|
||||
tags:
|
||||
- unverified
|
||||
- skills
|
||||
- lockfile
|
||||
- versioning
|
||||
timestamp: 2026-07-18
|
||||
verified: 2026-08-28
|
||||
---
|
||||
|
||||
# Lock File System
|
||||
|
||||
The `skills` CLI uses a lock file system for version pinning and update checking.
|
||||
|
||||
## Lock File Locations
|
||||
|
||||
| Type | Path | Scope |
|
||||
|------|------|-------|
|
||||
| **Global lock** | `~/.agents/.skill-lock.json` | Global (user-wide) |
|
||||
| **Local lock** | `skills-lock.json` | Project (checked into version control) |
|
||||
|
||||
## How `skills check` and `skills update` Work
|
||||
|
||||
1. Read `~/.agents/.skill-lock.json` for installed skills
|
||||
2. Filter to GitHub-backed skills that have both `skillFolderHash` and `skillPath`
|
||||
3. For each skill, call `fetchSkillFolderHash(source, skillPath, token)`
|
||||
- Optional auth token from `GITHUB_TOKEN`, `GH_TOKEN`, or `gh auth token`
|
||||
4. `fetchSkillFolderHash` calls GitHub Trees API (`/git/trees/<branch>?recursive=1` for `main`, then `master` fallback)
|
||||
5. Compare latest folder tree SHA with lock file `skillFolderHash`; mismatch means update available
|
||||
6. `skills update` reinstalls changed skills by invoking the current CLI directly
|
||||
|
||||
## Lock File Format
|
||||
|
||||
- **Version:** v3
|
||||
- **Key field:** `skillFolderHash` — GitHub tree SHA for the skill folder
|
||||
- **Compatibility:** If reading an older lock file version, it is wiped. Users must reinstall skills to populate the new format.
|
||||
|
||||
## Related
|
||||
|
||||
* [Commands](/tools/vercel-labs-skills/commands.md) — check, update, experimental_install
|
||||
@@ -1,43 +0,0 @@
|
||||
---
|
||||
type: reference
|
||||
title: Vercel Labs Skills — Related Links
|
||||
description: Links to the Agent Skills specification, skills directory, integration guide, and agent-specific skill documentation.
|
||||
tags:
|
||||
- unverified
|
||||
- skills
|
||||
- links
|
||||
- resources
|
||||
timestamp: 2026-07-18
|
||||
verified: 2026-08-28
|
||||
---
|
||||
|
||||
# Related Links
|
||||
|
||||
## Specification & Ecosystem
|
||||
|
||||
| Resource | URL |
|
||||
|----------|-----|
|
||||
| [Agent Skills Specification](https://agentskills.io) | agentskills.io/specification |
|
||||
| [Skills Directory](https://skills.sh) | skills.sh |
|
||||
| [Agent Skills Integration Guide](https://agentskills.io/integrate-skills) | agentskills.io/integrate-skills |
|
||||
| [Vercel Agent Skills Repository](https://github.com/vercel-labs/agent-skills) | github.com/vercel-labs/agent-skills |
|
||||
|
||||
## Agent-Specific Skill Documentation
|
||||
|
||||
| Agent | Documentation |
|
||||
|-------|--------------|
|
||||
| Amp | [Amp Skills Documentation](https://ampcode.com/manual#agent-skills) |
|
||||
| Claude Code | [Claude Code Skills Documentation](https://code.claude.com/docs/en/skills) |
|
||||
| Codex | [Codex Skills Documentation](https://developers.openai.com/codex/skills) (url unreachable 2026-08-28) |
|
||||
| Cursor | [Cursor Skills Documentation](https://cursor.com/docs/context/skills) |
|
||||
| Gemini CLI | [Gemini CLI Skills Documentation](https://geminicli.com/docs/cli/skills/) (url unreachable 2026-08-28) |
|
||||
| GitHub Copilot | [GitHub Copilot Agent Skills](https://docs.github.com/en/copilot/concepts/agents/about-agent-skills) |
|
||||
| OpenCode | [OpenCode Skills Documentation](https://opencode.ai/docs/skills) (url unreachable 2026-08-28) |
|
||||
| OpenHands | [OpenHands Skills Documentation](https://docs.openhands.ai/modules/usage/how-to/using-skills) (url unreachable 2026-08-28) |
|
||||
| Pi | [Pi Skills Documentation](https://github.com/earendil-works/pi) |
|
||||
| Roo Code | [Roo Code Skills Documentation](https://docs.roocode.com/features/skills) (url unreachable 2026-08-28) |
|
||||
| Windsurf | [Windsurf](https://www.codeium.com/windsurf) (url unreachable 2026-08-28) |
|
||||
|
||||
## Related
|
||||
|
||||
* [Agent Support](/tools/vercel-labs-skills/agent-support.md) — Full list of 68+ supported agents
|
||||
@@ -1,63 +0,0 @@
|
||||
---
|
||||
type: reference
|
||||
title: Skills CLI Skill Discovery
|
||||
description: How the skills CLI discovers SKILL.md files in repositories — flat layout, catalog layout, plugin manifests.
|
||||
tags:
|
||||
- unverified
|
||||
- skills
|
||||
- discovery
|
||||
- repository
|
||||
timestamp: 2026-07-18
|
||||
verified: 2026-08-28
|
||||
---
|
||||
|
||||
# Skill Discovery
|
||||
|
||||
The CLI searches for skills in these locations within a repository. Each skill container directory is walked:
|
||||
|
||||
- **One level deep** for the common flat layout: `skills/<name>/SKILL.md`
|
||||
- **One extra level deep** for catalog layouts: `skills/<category>/<name>/SKILL.md`
|
||||
|
||||
A `SKILL.md` discovered at the shallower level shadows anything nested below it. Use `--full-depth` to also discover `SKILL.md` files outside these container directories.
|
||||
|
||||
## Standard Discovery Locations
|
||||
|
||||
- `SKILL.md` in root directory (if present)
|
||||
- `skills/`
|
||||
- `skills/.curated/`
|
||||
- `skills/.experimental/`
|
||||
- `skills/.system/`
|
||||
- `.agents/skills/`
|
||||
- `.claude/skills/`
|
||||
- `.goose/skills/`
|
||||
- `.openhands/skills/`
|
||||
- `.pi/skills/`
|
||||
- And many more per-agent directories (see [Agent Support](/tools/vercel-labs-skills/agent-support.md))
|
||||
|
||||
## Plugin Manifest Discovery
|
||||
|
||||
If `.claude-plugin/marketplace.json` or `.claude-plugin/plugin.json` exists, skills declared in those files are also discovered. This enables compatibility with the [Claude Code plugin marketplace](https://code.claude.com/docs/en/plugin-marketplaces) ecosystem.
|
||||
|
||||
Example `marketplace.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"metadata": { "pluginRoot": "./plugins" },
|
||||
"plugins": [
|
||||
{
|
||||
"name": "my-plugin",
|
||||
"source": "my-plugin",
|
||||
"skills": ["./skills/review", "./skills/test"]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Skill paths declared in a manifest are searched at their declared depth.
|
||||
|
||||
If no skills are found in standard locations, a **recursive search** is performed as a fallback.
|
||||
|
||||
## Related
|
||||
|
||||
* [SKILL.md Format](/tools/vercel-labs-skills/skill-format.md) — What a discovered skill looks like
|
||||
* [Commands](/tools/vercel-labs-skills/commands.md) — add and use commands
|
||||
@@ -1,70 +0,0 @@
|
||||
---
|
||||
type: reference
|
||||
title: SKILL.md Format
|
||||
description: The required frontmatter fields, optional fields, internal skills, and structure for SKILL.md files.
|
||||
tags:
|
||||
- skills
|
||||
- SKILL.md
|
||||
- format
|
||||
- unverified
|
||||
verified: 2026-08-28
|
||||
|
||||
# SKILL.md Format
|
||||
|
||||
Skills are directories containing a `SKILL.md` file with YAML frontmatter.
|
||||
|
||||
## Basic Structure
|
||||
|
||||
```markdown
|
||||
---
|
||||
name: my-skill
|
||||
description: What this skill does and when to use it
|
||||
---
|
||||
|
||||
# My Skill
|
||||
|
||||
Instructions for the agent to follow when this skill is activated.
|
||||
|
||||
## When to Use
|
||||
|
||||
Describe the scenarios where this skill is used.
|
||||
|
||||
## Steps
|
||||
|
||||
1. First, do this
|
||||
2. Then, do that
|
||||
```
|
||||
|
||||
## Required Frontmatter Fields
|
||||
|
||||
| Field | Type | Description |
|
||||
|-------|------|-------------|
|
||||
| `name` | string | Unique identifier (lowercase, hyphens allowed) |
|
||||
| `description` | string | Brief explanation of what the skill does |
|
||||
|
||||
## Optional Frontmatter Fields
|
||||
|
||||
| Field | Type | Description |
|
||||
|-------|------|-------------|
|
||||
| `metadata.internal` | boolean | Set to `true` to hide the skill from normal discovery. Requires `INSTALL_INTERNAL_SKILLS=1` |
|
||||
| `license` | string | License name or reference to bundled file |
|
||||
| `compatibility` | string | Environment requirements (max 500 chars) |
|
||||
| `metadata` | object | Arbitrary key-value mapping |
|
||||
| `allowed-tools` | string | Space-delimited list of pre-approved tools (experimental) |
|
||||
| `disable-model-invocation` | boolean | When `true`, skill is hidden from system prompt. Users must use `/skill:name` explicitly |
|
||||
|
||||
## Internal Skills Example
|
||||
|
||||
```markdown
|
||||
---
|
||||
name: my-internal-skill
|
||||
description: An internal skill not shown by default
|
||||
metadata:
|
||||
internal: true
|
||||
---
|
||||
```
|
||||
|
||||
## Related
|
||||
|
||||
* [Skill Discovery](/tools/vercel-labs-skills/skill-discovery.md) — How skills are discovered in repos
|
||||
* [Commands](/tools/vercel-labs-skills/commands.md) — `skills init` to create new skills
|
||||
@@ -1,63 +0,0 @@
|
||||
---
|
||||
type: reference
|
||||
title: omp Skill Store Wiring
|
||||
description: Division of skill tiers on Dank workstations — skills CLI global store, omp agents provider, and the authored repo tier.
|
||||
tags:
|
||||
- skills
|
||||
- provisioning
|
||||
- dotfiles
|
||||
timestamp: 2026-10-18
|
||||
verified: 2026-10-18
|
||||
---
|
||||
|
||||
# omp Skill Store Wiring
|
||||
|
||||
Three tiers, one owner each:
|
||||
|
||||
| Tier | Path | Owner | Content |
|
||||
|---|---|---|---|
|
||||
| Canonical store | `~/.agents/skills/` | `skills` CLI | upstream skills, 38 as of 2026-10-18 (all `mattpocock/skills`) |
|
||||
| Provenance | `~/.agents/.skill-lock.json` | `skills` CLI | v3 lockfile: `source`, `skillPath`, `skillFolderHash` per skill |
|
||||
| Authored | `agent/skills/` (this repo) | Frank, via PR | hand-customized overrides; today only `grilling` |
|
||||
|
||||
## How omp loads them
|
||||
|
||||
omp is NOT a registered agent in the `skills` CLI (79-agent registry checked
|
||||
2026-10-18; see [Agent Support](/tools/vercel-labs-skills/agent-support.md)) —
|
||||
`skills add` never writes anywhere under `~/.omp`. Instead omp's own `agents`
|
||||
provider reads the store **directly**: `skills.enableAgentsUser` (default true)
|
||||
loads `~/.agents/skills/*/SKILL.md`. No per-skill symlinks in the repo — the
|
||||
repo does not mirror the store; it only holds authored overrides.
|
||||
|
||||
Precedence (omp `omp://skills.md`): authored `agent/skills/` (native, priority
|
||||
100) beats the agents provider; identical copies collapse by realpath, differing
|
||||
same-named copies survive namespaced (`agents/<name>`) with a startup warning.
|
||||
Therefore: **when authoring an override, remove the skill from the store**
|
||||
(`npx skills remove <name> -g`) so the lockfile stays truthful and no
|
||||
namespaced twin haunts the listing. `grilling` was extracted this way 2026-10-18.
|
||||
|
||||
## Updating upstream skills
|
||||
|
||||
```bash
|
||||
npx -y skills update -g # refreshes everything the lockfile tracks
|
||||
npx skills check # drift report vs GitHub tree SHAs
|
||||
```
|
||||
|
||||
Fresh workstation (omp side is two commands — store restore + authored tier
|
||||
arrives with the repo clone):
|
||||
|
||||
```bash
|
||||
npx -y skills add mattpocock/skills --all -g
|
||||
npx -y skills add vercel-labs/skills --skill find-skills --agent universal -g
|
||||
npx -y skills remove grilling -g # authored copy ships in the repo
|
||||
```
|
||||
|
||||
## Managed tier
|
||||
|
||||
`agent/managed-skills/` (auto-learn, priority 5) is separate and untouched by
|
||||
all of the above; authored skills always win name collisions against it.
|
||||
|
||||
## Related
|
||||
|
||||
* [Lock File](/tools/vercel-labs-skills/lock-file.md) — hash-based update checking
|
||||
* [Agent Support](/tools/vercel-labs-skills/agent-support.md) — full CLI agent registry
|
||||
@@ -1,43 +0,0 @@
|
||||
---
|
||||
type: reference
|
||||
title: Skills CLI Source Formats
|
||||
description: All accepted source formats for skills add and use — GitHub shorthand, full URLs, GitLab, git URLs, local paths.
|
||||
tags:
|
||||
- unverified
|
||||
- skills
|
||||
- sources
|
||||
- git
|
||||
timestamp: 2026-07-18
|
||||
verified: 2026-08-28
|
||||
---
|
||||
|
||||
# Source Formats
|
||||
|
||||
The `skills` CLI accepts multiple source formats for the `add` and `use` commands:
|
||||
|
||||
```bash
|
||||
# GitHub shorthand (owner/repo)
|
||||
npx skills add vercel-labs/agent-skills
|
||||
|
||||
# Full GitHub URL
|
||||
npx skills add https://github.com/vercel-labs/agent-skills
|
||||
|
||||
# Direct path to a skill in a repo
|
||||
npx skills add https://github.com/vercel-labs/agent-skills/tree/main/skills/web-design-guidelines
|
||||
|
||||
# GitLab URL
|
||||
npx skills add https://gitlab.com/org/repo
|
||||
|
||||
# Any git URL
|
||||
npx skills add git@github.com:vercel-labs/agent-skills.git
|
||||
|
||||
# Local path
|
||||
npx skills add ./my-local-skills
|
||||
```
|
||||
|
||||
The source parser (`src/source-parser.ts`) handles all these formats, cloning repos as needed and resolving skill directories.
|
||||
|
||||
## Related
|
||||
|
||||
* [Commands](/tools/vercel-labs-skills/commands.md) — add and use commands
|
||||
* [Skill Discovery](/tools/vercel-labs-skills/skill-discovery.md) — How skills are found within repos
|
||||
Reference in new issue
Block a user