@ariasbruno/skillbase 0.2.0 → 1.1.0
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/AGENTS.md +7 -6
- package/README.md +67 -61
- package/README_es.md +132 -0
- package/package.json +12 -3
- package/src/cli.js +213 -111
- package/src/config.js +37 -0
- package/src/core.js +128 -88
- package/src/i18n.js +34 -0
- package/src/locales/en.js +104 -0
- package/src/locales/es.js +104 -0
- package/src/manifest.js +8 -12
- package/src/recommendations.js +7 -10
- package/src/styles.js +59 -0
package/AGENTS.md
CHANGED
|
@@ -16,10 +16,11 @@ Estas instrucciones aplican a todo el árbol del proyecto (`skillbase`).
|
|
|
16
16
|
2. Evitar dependencias externas salvo necesidad clara.
|
|
17
17
|
3. Toda lógica de negocio va en `src/core.js`; `src/cli.js` sólo parsea/coordina comandos.
|
|
18
18
|
4. Toda visualización de estado sucede en `src/cli.js`.
|
|
19
|
-
5. Mantener
|
|
19
|
+
5. Mantener soporte bilingüe (ES/EN) mediante `src/i18n.js` y sus locales.
|
|
20
20
|
6. Si agregas o cambias comandos, actualiza:
|
|
21
21
|
- ayuda en `src/cli.js`
|
|
22
|
-
-
|
|
22
|
+
- diccionarios en `src/locales/`
|
|
23
|
+
- secciones de comandos en `README.md` y `README_es.md`
|
|
23
24
|
|
|
24
25
|
## Flujo de recomendaciones (init)
|
|
25
26
|
- Usar integración propia (sin dependencias externas) para detectar stack.
|
|
@@ -27,12 +28,12 @@ Estas instrucciones aplican a todo el árbol del proyecto (`skillbase`).
|
|
|
27
28
|
- Si cambias este comportamiento, documenta el motivo en README.
|
|
28
29
|
|
|
29
30
|
## Listado
|
|
30
|
-
- `skillbase ls` lista las skills
|
|
31
|
-
- `skillbase ls
|
|
31
|
+
- `skillbase ls` lista las skills instaladas en el proyecto actual (`.agents/skills`).
|
|
32
|
+
- `skillbase ls -g` (o `--global`) lista las skills en el registro global (`~/.skillbase/skills`).
|
|
32
33
|
|
|
33
|
-
## Migración
|
|
34
|
+
## Migración y Promoción
|
|
34
35
|
- `skillbase migrate` migra desde `~/.agents/skills` a `~/.skillbase/skills`.
|
|
35
|
-
- `skillbase migrate --
|
|
36
|
+
- `skillbase migrate --promote` (o `-p`) promueve skills del proyecto actual al registro global.
|
|
36
37
|
- Mantener `--force` para sobrescritura explícita.
|
|
37
38
|
|
|
38
39
|
## Calidad mínima
|
package/README.md
CHANGED
|
@@ -1,126 +1,132 @@
|
|
|
1
1
|
# 🧠 skillbase
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**Local skill manager for AI-assisted development environments.**
|
|
4
4
|
|
|
5
|
-
`skillbase`
|
|
5
|
+
`skillbase` is a Node.js CLI that empowers you to manage skills for your AI agents using symbolic links (symlinks) or local installations per workspace, preventing context saturation.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
### 🌐 Language / Idioma
|
|
10
|
+
|
|
11
|
+
- [🇪🇸 **Ver documentación en Español**](README_es.md)
|
|
8
12
|
|
|
9
13
|
---
|
|
10
14
|
|
|
11
|
-
|
|
15
|
+

|
|
16
|
+
|
|
17
|
+
## 🤔 The Problem: Context Bloat
|
|
12
18
|
|
|
13
|
-
|
|
19
|
+
When developing with AI assistance (using tools like Cursor, Copilot, or custom agents), having a global directory with hundreds of skills in `.agents/skills/` destroys model precision:
|
|
14
20
|
|
|
15
|
-
* **
|
|
16
|
-
* **
|
|
17
|
-
* **
|
|
21
|
+
* **Hallucinations:** The LLM gets confused by having too many irrelevant tools at its disposal.
|
|
22
|
+
* **Token Consumption:** Sending the manifest of hundreds of skills in every prompt is slow and expensive.
|
|
23
|
+
* **Lack of Focus:** One project doesn't need the same skills as another.
|
|
18
24
|
|
|
19
|
-
## 💡
|
|
25
|
+
## 💡 The Solution
|
|
20
26
|
|
|
21
|
-
`skillbase`
|
|
27
|
+
`skillbase` maintains a **single global registry** on your machine (`~/.skillbase/skills`) and allows you to install **only what you need** in your current project.
|
|
22
28
|
|
|
23
|
-
|
|
29
|
+
Imagine you're working on the frontend of an e-commerce site. No need for the AI to see DevOps or Backend tools; you only need your React skills and maybe some SEO skills. With `skillbase`, you give your agent exactly that context.
|
|
24
30
|
|
|
25
31
|
---
|
|
26
32
|
|
|
27
|
-
## 🚀
|
|
33
|
+
## 🚀 Installation
|
|
28
34
|
|
|
29
|
-
|
|
35
|
+
Install the package globally:
|
|
30
36
|
|
|
31
37
|
```bash
|
|
32
38
|
npm install -g @ariasbruno/skillbase
|
|
33
|
-
#
|
|
39
|
+
# Or clone and link locally:
|
|
34
40
|
# npm link
|
|
35
41
|
```
|
|
36
42
|
|
|
37
|
-
## 💻
|
|
43
|
+
## 💻 Quickstart
|
|
38
44
|
|
|
39
|
-
**1.
|
|
40
|
-
|
|
45
|
+
**1. Initialize your project**
|
|
46
|
+
Detect technologies and suggest compatible skills:
|
|
41
47
|
```bash
|
|
42
48
|
skillbase init
|
|
43
49
|
```
|
|
44
50
|
|
|
45
|
-
**2.
|
|
51
|
+
**2. Add necessary skills**
|
|
46
52
|
```bash
|
|
47
53
|
skillbase add seo-analyzer
|
|
48
|
-
#
|
|
54
|
+
# Or open the interactive selector:
|
|
49
55
|
skillbase add
|
|
50
56
|
```
|
|
51
57
|
|
|
52
|
-
**3.
|
|
53
|
-
|
|
58
|
+
**3. Install from manifest**
|
|
59
|
+
If you already have a `skillbase.json`, recreate the environment:
|
|
54
60
|
```bash
|
|
55
61
|
skillbase install
|
|
56
62
|
```
|
|
57
63
|
|
|
58
64
|
---
|
|
59
65
|
|
|
60
|
-
## 🛠️
|
|
66
|
+
## 🛠️ Command Reference
|
|
61
67
|
|
|
62
|
-
|
|
|
68
|
+
| Command | Alias | Description |
|
|
63
69
|
| :--- | :--- | :--- |
|
|
64
|
-
| `skillbase ls [
|
|
65
|
-
| `skillbase init [--hard]` | |
|
|
66
|
-
| `skillbase add [<skill>] [-s]` | `a` |
|
|
67
|
-
| `skillbase install` | `i` |
|
|
68
|
-
| `skillbase install <ref> -r` | `i -r` |
|
|
69
|
-
| `skillbase remove <skill> [
|
|
70
|
-
| `skillbase check [-r]` | `c` |
|
|
71
|
-
| `skillbase update [<skill>] [-r] [-f]` | `up` |
|
|
72
|
-
| `skillbase migrate [-p] [-f]` | `m` |
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
- `-
|
|
77
|
-
- `-
|
|
78
|
-
- `-
|
|
79
|
-
- `-
|
|
80
|
-
- `-
|
|
81
|
-
- `--
|
|
82
|
-
|
|
83
|
-
### ⌨️ Aliases
|
|
84
|
-
|
|
70
|
+
| `skillbase ls [-g]` | `l [-g]` | List skills in local project. Use `-g` for global registry. |
|
|
71
|
+
| `skillbase init [--hard]` | | Detect technologies and suggests skills (use `--hard` for deep analysis). |
|
|
72
|
+
| `skillbase add [<skill>] [-s]` | `a` | Install global skill. Without name, opens **interactive selector**. `-s` for symlinks. |
|
|
73
|
+
| `skillbase install` | `i` | Install from `skillbase.json`. Supports `-r` (remote) and `-f` (force). |
|
|
74
|
+
| `skillbase install <ref> -r` | `i -r` | Install remote skill (URL or GitHub). Requires `-k <name>` if it's a Git repo. |
|
|
75
|
+
| `skillbase remove <skill> [-g]` | `rm` | Remove skill from project. Use `-g` to remove from global registry instead. |
|
|
76
|
+
| `skillbase check [-r]` | `c` | Check for updates. With `-r`, searches only in remote sources. |
|
|
77
|
+
| `skillbase update [<skill>] [-r] [-f]` | `up` | Update one or all skills. `-r` for remote, `-f` to force. |
|
|
78
|
+
| `skillbase migrate [-p] [-f]` | `m` | Migrate (~/.agents) or **promote** local skills to global registry with `-p`. |
|
|
79
|
+
| `skillbase lang <en|es>` | | Change CLI language. |
|
|
80
|
+
|
|
81
|
+
### 🚩 Detailed Flags
|
|
82
|
+
- `-h`, `--help`: Show detailed help.
|
|
83
|
+
- `-s`, `--sym`: Create a symbolic link instead of copying files (useful for development).
|
|
84
|
+
- `-r`, `--remote`: Indicates that the operation should consult external sources (GitHub or skills.sh API).
|
|
85
|
+
- `-f`, `--force`: Ignore "already exists" errors and overwrite files/configurations.
|
|
86
|
+
- `-k`, `--skill`: Name of the specific skill to extract when installing from a GitHub repository.
|
|
87
|
+
- `-g`, `--global`: Operate on the global registry (for `ls` and `remove`).
|
|
88
|
+
|
|
89
|
+
### ⌨️ Command Aliases
|
|
90
|
+
For speed, you can use initials:
|
|
85
91
|
`l` (ls), `a` (add), `i` (install), `rm` (remove), `c` (check), `up` (update), `m` (migrate).
|
|
86
92
|
|
|
87
93
|
---
|
|
88
94
|
|
|
89
|
-
## 📂
|
|
95
|
+
## 📂 How does it work under the hood?
|
|
90
96
|
|
|
91
|
-
`skillbase`
|
|
97
|
+
`skillbase` organizes your tools efficiently:
|
|
92
98
|
|
|
93
99
|
```text
|
|
94
|
-
|
|
95
|
-
├── ~/.skillbase/skills/ <-- (
|
|
96
|
-
│ ├── seo-analyzer/ <-- (
|
|
100
|
+
Your Computer
|
|
101
|
+
├── ~/.skillbase/skills/ <-- (Your physical global registry)
|
|
102
|
+
│ ├── seo-analyzer/ <-- (Real source code)
|
|
97
103
|
│ └── react-helper/
|
|
98
104
|
│
|
|
99
|
-
└── /
|
|
100
|
-
├── skillbase.json <-- (
|
|
101
|
-
└── .agents/skills/ <-- (
|
|
102
|
-
└── seo-analyzer/ <-- (
|
|
105
|
+
└── /Projects/my-great-app/ <-- (Your current workspace)
|
|
106
|
+
├── skillbase.json <-- (Project manifest)
|
|
107
|
+
└── .agents/skills/ <-- (Clean context for the AI)
|
|
108
|
+
└── seo-analyzer/ <-- (Link or local copy)
|
|
103
109
|
```
|
|
104
110
|
|
|
105
|
-
|
|
111
|
+
You can change the global registry location by setting the `SKILLBASE_HOME` environment variable.
|
|
106
112
|
|
|
107
113
|
---
|
|
108
114
|
|
|
109
|
-
## 🌐
|
|
115
|
+
## 🌐 Remote Sources
|
|
110
116
|
|
|
111
|
-
|
|
117
|
+
Install skills directly from GitHub repositories:
|
|
112
118
|
```bash
|
|
113
119
|
skillbase install <repo-url> --remote
|
|
114
|
-
#
|
|
115
|
-
skillbase install https://github.com/
|
|
120
|
+
# Example:
|
|
121
|
+
skillbase install https://github.com/user/my-skills --remote --skill analyzer
|
|
116
122
|
```
|
|
117
123
|
|
|
118
124
|
---
|
|
119
125
|
|
|
120
|
-
## 🤝
|
|
126
|
+
## 🤝 Contributions
|
|
121
127
|
|
|
122
|
-
|
|
128
|
+
Contributions are welcome! If you have ideas to improve context management, open an Issue or a Pull Request.
|
|
123
129
|
|
|
124
|
-
## 📄
|
|
130
|
+
## 📄 License
|
|
125
131
|
|
|
126
132
|
MIT
|
package/README_es.md
ADDED
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# 🧠 skillbase
|
|
2
|
+
|
|
3
|
+
**Gestor de skills locales para entornos de desarrollo con IA.**
|
|
4
|
+
|
|
5
|
+
`skillbase` es un CLI de Node.js que te permite administrar las skills de tus agentes de Inteligencia Artificial utilizando enlaces simbólicos (symlinks) o instalaciones locales por cada workspace, evitando la saturación del contexto.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
### 🌐 Idioma / Language
|
|
10
|
+
|
|
11
|
+
- [🇺🇸 **View documentation in English**](README.md)
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+

|
|
16
|
+
|
|
17
|
+
## 🤔 El Problema: Saturación de Contexto (Context Bloat)
|
|
18
|
+
|
|
19
|
+
Cuando desarrollas asistido por IA (usando herramientas como Cursor, Copilot o agentes personalizados), tener un directorio global con cientos de skills `.agents/skills/` destruye la precisión del modelo:
|
|
20
|
+
|
|
21
|
+
* **Alucinaciones:** El LLM se confunde al tener demasiadas herramientas irrelevantes a su disposición.
|
|
22
|
+
* **Consumo de Tokens:** Enviar el manifiesto de cientos de skills en cada prompt es lento y costoso.
|
|
23
|
+
* **Falta de foco:** Un proyecto no necesita las mismas skills que otro.
|
|
24
|
+
|
|
25
|
+
## 💡 La Solución
|
|
26
|
+
|
|
27
|
+
`skillbase` mantiene un **único registro global** en tu máquina (`~/.skillbase/skills`) y permite hacer una instalación en tu proyecto actual de **solo lo que necesitas**.
|
|
28
|
+
|
|
29
|
+
Imagínate que estás trabajando en el frontend de un e-commerce. No necesitas que la IA vea herramientas de DevOps o Backend; solo necesitas tus skills de React y quizás algunas de SEO. Con `skillbase`, le das a tu agente exactamente ese contexto.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## 🚀 Instalación
|
|
34
|
+
|
|
35
|
+
Instala el paquete globalmente:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
npm install -g @ariasbruno/skillbase
|
|
39
|
+
# O clona y linkea localmente:
|
|
40
|
+
# npm link
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## 💻 Uso Rápido (Quickstart)
|
|
44
|
+
|
|
45
|
+
**1. Inicializa tu proyecto**
|
|
46
|
+
Detecta tecnologías y sugiere skills compatibles:
|
|
47
|
+
```bash
|
|
48
|
+
skillbase init
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
**2. Añade las skills necesarias**
|
|
52
|
+
```bash
|
|
53
|
+
skillbase add seo-analyzer
|
|
54
|
+
# O abre el selector interactivo:
|
|
55
|
+
skillbase add
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**3. Instala desde el manifiesto**
|
|
59
|
+
Si ya tienes un `skillbase.json`, recrea el entorno:
|
|
60
|
+
```bash
|
|
61
|
+
skillbase install
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## 🛠️ Referencia de Comandos
|
|
67
|
+
|
|
68
|
+
| Comando | Alias | Descripción |
|
|
69
|
+
| :--- | :--- | :--- |
|
|
70
|
+
| `skillbase ls [-g]` | `l [-g]` | Lista las skills del proyecto. Usa `-g` para el registro global. |
|
|
71
|
+
| `skillbase init [--hard]` | | Detecta tecnologías y sugiere skills (usa `--hard` para análisis profundo). |
|
|
72
|
+
| `skillbase add [<skill>] [-s]` | `a` | Instalar skill global. Sin nombre, abre el **selector interactivo**. `-s` para symlinks. |
|
|
73
|
+
| `skillbase install` | `i` | Instala desde el manifiesto `skillbase.json`. Soporta `-r` (remotas) y `-f` (forzar). |
|
|
74
|
+
| `skillbase install <ref> -r` | `i -r` | Instala skill remota (URL o GitHub). Requiere `-k <name>` si es un repo Git. |
|
|
75
|
+
| `skillbase remove <skill> [-g]` | `rm` | Elimina skill del proyecto. Usa `-g` para eliminarla del registro global. |
|
|
76
|
+
| `skillbase check [-r]` | `c` | Busca actualizaciones. Con `-r` busca solo en fuentes remotas. |
|
|
77
|
+
| `skillbase update [<skill>] [-r] [-f]` | `up` | Actualiza una o todas las skills. `-r` para remotas, `-f` para forzar. |
|
|
78
|
+
| `skillbase migrate [-p] [-f]` | `m` | Migra (~/.agents) o **promueve** skills locales al registro global con `-p`. |
|
|
79
|
+
| `skillbase lang <en|es>` | | Cambia el idioma de la CLI. |
|
|
80
|
+
|
|
81
|
+
### 🚩 Flags Detalladas
|
|
82
|
+
- `-h`, `--help`: Muestra la ayuda detallada.
|
|
83
|
+
- `-s`, `--sym`: Crea un enlace simbólico en lugar de copiar los archivos (útil para desarrollo).
|
|
84
|
+
- `-r`, `--remote`: Indica que la operación debe consultar fuentes externas (GitHub o API de skills.sh).
|
|
85
|
+
- `-f`, `--force`: Ignora errores de "ya existe" y sobrescribe archivos/configuraciones.
|
|
86
|
+
- `-k`, `--skill`: Nombre de la skill específica a extraer cuando se instala desde un repositorio GitHub.
|
|
87
|
+
- `-g`, `--global`: Para operar sobre el registro global (en `ls` y `remove`).
|
|
88
|
+
|
|
89
|
+
### ⌨️ Aliases de comandos
|
|
90
|
+
Para mayor velocidad, puedes usar las iniciales:
|
|
91
|
+
`l` (ls), `a` (add), `i` (install), `rm` (remove), `c` (check), `up` (update), `m` (migrate).
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## 📂 ¿Cómo funciona bajo el capó?
|
|
96
|
+
|
|
97
|
+
`skillbase` organiza tus herramientas de forma eficiente:
|
|
98
|
+
|
|
99
|
+
```text
|
|
100
|
+
Tu Computadora
|
|
101
|
+
├── ~/.skillbase/skills/ <-- (Tu registro global físico)
|
|
102
|
+
│ ├── seo-analyzer/ <-- (Código fuente real)
|
|
103
|
+
│ └── react-helper/
|
|
104
|
+
│
|
|
105
|
+
└── /Proyectos/mi-gran-app/ <-- (Tu workspace actual)
|
|
106
|
+
├── skillbase.json <-- (El manifiesto del proyecto)
|
|
107
|
+
└── .agents/skills/ <-- (Contexto limpio para la IA)
|
|
108
|
+
└── seo-analyzer/ <-- (Enlace o copia local)
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Puedes cambiar la ubicación del registro global configurando la variable de entorno `SKILLBASE_HOME`.
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## 🌐 Fuentes Remotas
|
|
116
|
+
|
|
117
|
+
Instala skills directamente desde repositorios de GitHub:
|
|
118
|
+
```bash
|
|
119
|
+
skillbase install <repo-url> --remote
|
|
120
|
+
# Ejemplo:
|
|
121
|
+
skillbase install https://github.com/usuario/my-skills --remote --skill analyzer
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## 🤝 Contribuciones
|
|
127
|
+
|
|
128
|
+
¡Las contribuciones son bienvenidas! Si tienes ideas para mejorar la gestión del contexto, abre un Issue o un Pull Request.
|
|
129
|
+
|
|
130
|
+
## 📄 Licencia
|
|
131
|
+
|
|
132
|
+
MIT
|
package/package.json
CHANGED
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ariasbruno/skillbase",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "CLI
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"description": "CLI to manage local and remote AI skills avoiding context bloat",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"skillbase": "bin/skillbase.js"
|
|
8
8
|
},
|
|
9
9
|
"scripts": {
|
|
10
10
|
"start": "node bin/skillbase.js -h",
|
|
11
|
-
"lint": "node --check bin/skillbase.js && node --check src/cli.js && node --check src/core.js"
|
|
11
|
+
"lint": "node --check bin/skillbase.js && node --check src/cli.js && node --check src/core.js && node --check src/i18n.js && node --check src/config.js"
|
|
12
12
|
},
|
|
13
13
|
"license": "MIT",
|
|
14
|
+
"repository": {
|
|
15
|
+
"type": "git",
|
|
16
|
+
"url": "git+https://github.com/ariasbruno/skillbase.git"
|
|
17
|
+
},
|
|
18
|
+
"bugs": {
|
|
19
|
+
"url": "https://github.com/ariasbruno/skillbase/issues"
|
|
20
|
+
},
|
|
21
|
+
"homepage": "https://github.com/ariasbruno/skillbase#readme",
|
|
14
22
|
"engines": {
|
|
15
23
|
"node": ">=18.0.0"
|
|
16
24
|
},
|
|
@@ -18,6 +26,7 @@
|
|
|
18
26
|
"bin/",
|
|
19
27
|
"src/",
|
|
20
28
|
"README.md",
|
|
29
|
+
"README_es.md",
|
|
21
30
|
"AGENTS.md",
|
|
22
31
|
"LICENSE"
|
|
23
32
|
],
|