Skills
Paseo plugin: lists the skills an agent can use, shows where each comes from, renders its SKILL.md, and invokes it
paseo-skills
A Paseo plugin that lists the agent skills available to an agent session, shows where each one
comes from, renders its SKILL.md, and invokes it.
Works with every provider. Claude, Codex, and Hermes additionally get their skill files scanned off disk, which is what gives a skill a source, a path, and a rendered body; every other provider shows what its running session reports.
Install
Requires the Paseo CLI and a running daemon, both 0.9.0 or newer — as well as the app you view the panel in, which checks the version itself.
paseo plugin install npm:@gpambrozio/paseo-skills
That is the shortest route on Paseo 0.9 or newer, which installs plugins straight from npm; add
@<version> to pin one. On 0.8, install the last release that supported it from this repository instead:
paseo plugin add gpambrozio/paseo-plugins --path skills
This repository holds five plugins, hence --path. The daemon clones it under $PASEO_HOME/plugins
and runs no package manager — the plugin is source only, and everything it imports at runtime the
host provides. Pin a release with --ref <tag>; later, paseo plugin status and
paseo plugin update skills follow the branch.
To hack on it instead, install from a clone of your own:
git clone https://github.com/gpambrozio/paseo-plugins.git
cd paseo-plugins/skills
npm install
npm run typecheck && npm test
paseo plugin install "$PWD"
install records the directory, so keep that clone where it is — the daemon loads the plugin from
that path every time it starts. npm install is for the typecheck and the tests; installing needs
none of it.
The daemon needs "pluginsEnabled": true in its config.json. Run paseo reload after changing
it. Plugin code is trusted and unsandboxed: the server half reads the daemon machine's filesystem
and the client half runs inside the Paseo app. Read the source before installing this or any other
plugin.
Use
Press the Skills pill above an agent's composer — its badge counts what it will list. It opens a popover over the composer with the agent's skills: pick one to read it and invoke it with arguments, or press Open tab at its top right for the full Skills panel. The Command Center reaches the same panel: focus a workspace tab holding an agent, press ⌘K, and pick Skills.
Demo
https://github.com/user-attachments/assets/cbb0166e-d981-4367-a5b4-5b12d2e7c14c
Develop
npm test # vitest, resolvers only
npm run typecheck
paseo plugin reload skills # after any source change
paseo plugin logs skills # load errors and stderr
A failed reload stays failed; Paseo does not restore the previous code.
Layout
| File | Owns |
|---|---|
index.client.tsx | Client wiring: the panel, the Command Center item, the pills. |
index.server.ts | Server wiring: the two RPC handlers. |
shared/skills.ts | zod RPC contracts, imported by both runtimes. |
server/skills.ts | RPC handlers; resolves the agent, dispatches by provider. |
server/resolve/claude.ts | Claude project, repository, personal, and plugin skills. |
server/resolve/codex.ts | Codex project, repository, personal, and admin skills. |
server/resolve/repo-root.ts | Walks up for .git, and lists the directories in between. |
server/resolve/skill-directory.ts | Scans one skills directory, and a whole search path. |
server/resolve/skill-entry.ts | Entry types, skill id construction, first-wins dedupe. |
server/resolve/frontmatter.ts | SKILL.md frontmatter parsing. |
server/resolve/reported.ts | Splits session-reported entries discovery did not find. |
client/browser.tsx | List, search, detail, invoke — drawn by the panel and the popover. |
client/panel.tsx | The panel: the browser as a whole tab. |
client/popover.tsx | The pill's popover: the browser, plus a button to the panel. |
client/pill.tsx | The composer pill and the registration loop that owns it. |
client/skills-query.tsx | The skills.list query the panel and the pill share. |
docs/design.md records why it is shaped this way. Read it before changing discovery.
License
MIT — see LICENSE.
More from gpambrozio
View allGitHub Board
gpambrozio
Paseo plugin: a GitHub sidebar board of your issues, draft and open pull requests, and discussions
Herald
gpambrozio
Paseo plugin: speaks one sentence when an agent needs you, and lists everything waiting in a sidebar panel
launchd Jobs
gpambrozio
Paseo plugin: schedule shell commands on your Mac through launchd, from a sidebar panel
