@gpambrozio/paseo-skills 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +53 -0
- package/LICENSE +21 -0
- package/README.md +98 -0
- package/client/panel.tsx +542 -0
- package/client/pill.tsx +116 -0
- package/client/skills-query.tsx +29 -0
- package/index.client.tsx +27 -0
- package/index.server.ts +10 -0
- package/package.json +44 -0
- package/paseo-plugin.json +7 -0
- package/server/resolve/claude.ts +101 -0
- package/server/resolve/codex.ts +50 -0
- package/server/resolve/frontmatter.ts +88 -0
- package/server/resolve/repo-root.ts +43 -0
- package/server/resolve/reported.ts +80 -0
- package/server/resolve/skill-directory.ts +93 -0
- package/server/resolve/skill-entry.ts +39 -0
- package/server/sdk-types.ts +24 -0
- package/server/skills.ts +152 -0
- package/shared/skills.ts +67 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
Notable changes to `skills`. The other plugins in this repository version separately.
|
|
4
|
+
|
|
5
|
+
The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the version numbers
|
|
6
|
+
follow [Semantic Versioning](https://semver.org/spec/v2.0.0.html). Every version is published to npm
|
|
7
|
+
as `@gpambrozio/paseo-skills` and tagged here, so a version is something to install and a line to
|
|
8
|
+
read before you move.
|
|
9
|
+
|
|
10
|
+
## [0.1.2] — 2026-09-19
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **Installs from npm.** On Paseo 0.9 and newer,
|
|
15
|
+
`paseo plugin install npm:@gpambrozio/paseo-skills` fetches the plugin from the npm
|
|
16
|
+
registry — no clone, no repository path to remember. Installing from this repository keeps
|
|
17
|
+
working, and nothing about what the plugin does has changed.
|
|
18
|
+
|
|
19
|
+
## [0.1.1] — 2026-09-16
|
|
20
|
+
|
|
21
|
+
### Fixed
|
|
22
|
+
|
|
23
|
+
- **The Skills pill is back above the composer.** It vanished on Paseo 0.8.0, which changed the way
|
|
24
|
+
a plugin adds one. Nothing else about it has changed: it still counts what the panel will list,
|
|
25
|
+
and pressing it still opens that agent's skills. ⌘K and **Skills** worked throughout, if you need
|
|
26
|
+
the panel before you update.
|
|
27
|
+
|
|
28
|
+
## [0.1.0] — 2026-09-08
|
|
29
|
+
|
|
30
|
+
The first numbered release. The plugin itself is older than this entry — it simply had no version
|
|
31
|
+
until now, so everything it does is listed here rather than split across releases it never had. See
|
|
32
|
+
the git history for how each part arrived.
|
|
33
|
+
|
|
34
|
+
### Added
|
|
35
|
+
|
|
36
|
+
- **A Skills pill above an agent's composer**, badged with how many skills that agent can use. Press
|
|
37
|
+
it for the full list. ⌘K and **Skills** reaches the same panel, with a workspace tab holding an
|
|
38
|
+
agent in focus.
|
|
39
|
+
- **Every skill the agent can actually use, grouped by where it comes from** — the project, the
|
|
40
|
+
repository, your personal folder, your machine, or a plugin — so two skills with the same name are
|
|
41
|
+
told apart by origin rather than guessed at. A search box filters by name and description.
|
|
42
|
+
- **What a skill actually says.** Opening one shows its description, the file it lives in, and its
|
|
43
|
+
full instructions as written. **Copy path** takes the location, for when you want to edit it.
|
|
44
|
+
- **Invoke, with optional arguments.** Runs the skill on the agent you opened the panel from, and
|
|
45
|
+
takes you to that agent so you can watch it work. A double press cannot send it twice.
|
|
46
|
+
- **Skills the agent can use but you cannot run yourself** are listed with a note saying so, instead
|
|
47
|
+
of a button that would not have worked.
|
|
48
|
+
- **Works with every provider.** Claude and Codex additionally have their skill files read from
|
|
49
|
+
disk, which is what gives a skill its origin, its location, and its full text; every other
|
|
50
|
+
provider lists what its running session reports — a name, a description, and an argument hint.
|
|
51
|
+
- **Requires Paseo 0.8.0 or newer**, on the computer running the daemon *and* on whatever you view
|
|
52
|
+
the panel in. On anything older the plugin reports itself as incompatible rather than half
|
|
53
|
+
working.
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Gustavo Ambrozio
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# paseo-skills
|
|
2
|
+
|
|
3
|
+
A Paseo plugin that lists the agent skills available to an agent session, shows where each one
|
|
4
|
+
comes from, renders its `SKILL.md`, and invokes it.
|
|
5
|
+
|
|
6
|
+
Works with every provider. Claude and Codex additionally get their skill files scanned off disk,
|
|
7
|
+
which is what gives a skill a source, a path, and a rendered body; every other provider shows what
|
|
8
|
+
its running session reports.
|
|
9
|
+
|
|
10
|
+
## Install
|
|
11
|
+
|
|
12
|
+
Requires the [Paseo](https://paseo.sh) CLI and a running daemon, both **0.8.0 or newer** — as well
|
|
13
|
+
as the app you view the panel in, which checks the version itself.
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
paseo plugin install npm:@gpambrozio/paseo-skills
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
That is the shortest route on **Paseo 0.9 or newer**, which installs plugins straight from npm; add
|
|
20
|
+
`@<version>` to pin one. On 0.8, install from this repository instead:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
paseo plugin add gpambrozio/paseo-plugins --path skills
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
This repository holds five plugins, hence `--path`. The daemon clones it under `$PASEO_HOME/plugins`
|
|
27
|
+
and runs no package manager — the plugin is source only, and everything it imports at runtime the
|
|
28
|
+
host provides. Pin a release with `--ref <tag>`; later, `paseo plugin status` and
|
|
29
|
+
`paseo plugin update skills` follow the branch.
|
|
30
|
+
|
|
31
|
+
To hack on it instead, install from a clone of your own:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
git clone https://github.com/gpambrozio/paseo-plugins.git
|
|
35
|
+
cd paseo-plugins/skills
|
|
36
|
+
npm install
|
|
37
|
+
npm run typecheck && npm test
|
|
38
|
+
paseo plugin install "$PWD"
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
`install` records the directory, so keep that clone where it is — the daemon loads the plugin from
|
|
42
|
+
that path every time it starts. `npm install` is for the typecheck and the tests; installing needs
|
|
43
|
+
none of it.
|
|
44
|
+
|
|
45
|
+
The daemon needs `"pluginsEnabled": true` in its `config.json`. Run `paseo reload` after changing
|
|
46
|
+
it. Plugin code is trusted and unsandboxed: the server half reads the daemon machine's filesystem
|
|
47
|
+
and the client half runs inside the Paseo app. Read the source before installing this or any other
|
|
48
|
+
plugin.
|
|
49
|
+
|
|
50
|
+
## Use
|
|
51
|
+
|
|
52
|
+
Press the **Skills** pill above an agent's composer — its badge counts what the panel will list.
|
|
53
|
+
The Command Center reaches the same panel: focus a workspace tab holding an agent, press ⌘K, and
|
|
54
|
+
pick **Skills**.
|
|
55
|
+
|
|
56
|
+
## Demo
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
https://github.com/user-attachments/assets/cbb0166e-d981-4367-a5b4-5b12d2e7c14c
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
## Develop
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
npm test # vitest, resolvers only
|
|
68
|
+
npm run typecheck
|
|
69
|
+
paseo plugin reload skills # after any source change
|
|
70
|
+
paseo plugin logs skills # load errors and stderr
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
A failed reload stays failed; Paseo does not restore the previous code.
|
|
74
|
+
|
|
75
|
+
## Layout
|
|
76
|
+
|
|
77
|
+
| File | Owns |
|
|
78
|
+
| ----------------------------------- | ---------------------------------------------------------- |
|
|
79
|
+
| `index.client.tsx` | Client wiring: the panel, the Command Center item, the pills. |
|
|
80
|
+
| `index.server.ts` | Server wiring: the two RPC handlers. |
|
|
81
|
+
| `shared/skills.ts` | zod RPC contracts, imported by both runtimes. |
|
|
82
|
+
| `server/skills.ts` | RPC handlers; resolves the agent, dispatches by provider. |
|
|
83
|
+
| `server/resolve/claude.ts` | Claude project, repository, personal, and plugin skills. |
|
|
84
|
+
| `server/resolve/codex.ts` | Codex project, repository, personal, and admin skills. |
|
|
85
|
+
| `server/resolve/repo-root.ts` | Walks up for `.git`, and lists the directories in between. |
|
|
86
|
+
| `server/resolve/skill-directory.ts` | Scans one `skills` directory, and a whole search path. |
|
|
87
|
+
| `server/resolve/skill-entry.ts` | Entry types, skill id construction, first-wins dedupe. |
|
|
88
|
+
| `server/resolve/frontmatter.ts` | `SKILL.md` frontmatter parsing. |
|
|
89
|
+
| `server/resolve/reported.ts` | Splits session-reported entries discovery did not find. |
|
|
90
|
+
| `client/panel.tsx` | The panel: list, search, detail, invoke. |
|
|
91
|
+
| `client/pill.tsx` | The composer pill and the registration loop that owns it. |
|
|
92
|
+
| `client/skills-query.tsx` | The `skills.list` query the panel and the pill share. |
|
|
93
|
+
|
|
94
|
+
`docs/design.md` records why it is shaped this way. Read it before changing discovery.
|
|
95
|
+
|
|
96
|
+
## License
|
|
97
|
+
|
|
98
|
+
MIT — see [LICENSE](LICENSE).
|