reskill 0.17.0 → 0.18.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/README.md CHANGED
@@ -18,78 +18,43 @@ English | [简体中文](./README.zh-CN.md)
18
18
  ## Quick Start
19
19
 
20
20
  ```bash
21
- # 1. Initialize project
22
21
  npx reskill@latest init
23
-
24
- # 2. Install a skill
25
22
  npx reskill@latest install github:anthropics/skills/frontend-design@latest
26
-
27
- # 3. List installed skills
28
23
  npx reskill@latest list
29
24
  ```
30
25
 
31
- ## What is reskill?
32
-
33
- reskill is a **Git-based package manager** for AI agent skills, similar to npm or Go modules. It provides declarative configuration, version locking, and seamless synchronization for managing skills across projects and teams.
34
-
35
- **Supports:** Cursor, Claude Code, Codex, OpenCode, Windsurf, GitHub Copilot, and more.
36
-
37
- ## Why reskill?
38
-
39
- reskill offers **fine-grained skill management and synchronization**:
40
-
41
- ### Local Experience
42
-
43
- - **Declarative config** — `skills.json` clearly expresses project dependencies
44
- - **Global cache** — Avoid redundant downloads, speed up installation
45
-
46
- ### Engineering-Grade Management
47
-
48
- - **Version locking** — `skills.lock` ensures team consistency
49
- - **Flexible versioning** — Support exact versions, semver ranges, branches, and commits
50
- - **Git as Registry** — No additional services needed, any Git repo is a skill source
51
-
52
- ### Cross-Project Sync
53
-
54
- - **Version controlled** — Commit `skills.json` and `skills.lock` to your repo
55
- - **CI integration** — Run `reskill install` in CI to verify dependencies
56
- - **Multi-registry** — Support GitHub, GitLab, and private repositories
57
-
58
- ### Flexible Version Strategy
59
-
60
- ```json
61
- {
62
- "skills": {
63
- "frontend-design": "github:anthropics/skills/frontend-design@latest",
64
- "code-review": "github:team/code-review@v2.1.0",
65
- "testing": "github:team/testing@^1.0.0"
66
- }
67
- }
68
- ```
26
+ ## Features
69
27
 
70
- When running `reskill update`:
71
- - `@latest` skills automatically update to the newest tag
72
- - `@v2.1.0` stays locked
73
- - `@^1.0.0` updates to the latest 1.x.x version
28
+ - **One-click install** — Install any skill from any Git repo with a single command
29
+ - **Declarative config** — `skills.json` + `skills.lock` for team consistency
30
+ - **Flexible versioning** — Exact versions, semver ranges, branches, commits
31
+ - **Multi-registry** GitHub, GitLab, self-hosted, private repos
32
+ - **Multi-agent** — Cursor, Claude Code, Codex, Windsurf, GitHub Copilot, and more
74
33
 
75
34
  ## Installation
76
35
 
77
36
  ```bash
78
- # Global install (recommended for regular use)
79
- npm install -g reskill
80
-
81
- # Or use npx with @latest (recommended for ongoing skill management)
82
- npx reskill@latest <command>
83
-
84
- # For one-time use, npx reskill also works
85
- npx reskill <command>
37
+ npm install -g reskill # Global install
38
+ npx reskill@latest <command> # Or use npx directly
86
39
  ```
87
40
 
88
- > **Note:** When using `npx`, we recommend `npx reskill@latest` to ensure you always get the latest version. Without `@latest`, npx may use a cached older version.
41
+ ## Commands
42
+
43
+ | Command | Description |
44
+ | -------------------- | ----------------------------------------- |
45
+ | `init` | Initialize `skills.json` |
46
+ | `install [skill]` | Install skills |
47
+ | `list` | List installed skills |
48
+ | `info <skill>` | Show skill details |
49
+ | `update [skill]` | Update skills |
50
+ | `outdated` | Check for outdated skills |
51
+ | `uninstall <skill>` | Remove a skill |
52
+ | `doctor` | Diagnose environment and check for issues |
53
+ | `completion install` | Install shell tab completion |
89
54
 
90
- ## Usage
55
+ Run `reskill <command> --help` for detailed options.
91
56
 
92
- ### Source Formats
57
+ ## Source Formats
93
58
 
94
59
  ```bash
95
60
  # GitHub shorthand
@@ -111,229 +76,62 @@ npx reskill@latest install gitlab.company.com:team/skill@v1.0.0
111
76
  npx reskill@latest install user/skill@v1.0.0
112
77
  ```
113
78
 
114
- ### Version Specification
79
+ ## Version Specification
115
80
 
116
- | Format | Example | Description |
117
- |--------|---------|-------------|
118
- | Exact | `@v1.0.0` | Lock to specific tag |
119
- | Latest | `@latest` | Get the latest tag |
120
- | Range | `@^2.0.0` | Semver compatible (>=2.0.0 <3.0.0) |
121
- | Branch | `@branch:develop` | Specific branch |
81
+ | Format | Example | Description |
82
+ | ------ | ----------------- | -------------------- |
83
+ | Exact | `@v1.0.0` | Lock to specific tag |
84
+ | Latest | `@latest` | Get the latest tag |
85
+ | Range | `@^2.0.0` | Semver compatible |
86
+ | Branch | `@branch:develop` | Specific branch |
122
87
  | Commit | `@commit:abc1234` | Specific commit hash |
123
88
 
124
- ## Commands
125
-
126
- You can use `npx reskill@latest` directly without global installation:
127
-
128
- ```bash
129
- # Initialize project
130
- npx reskill@latest init
131
-
132
- # Install a skill from GitHub
133
- npx reskill@latest install github:anthropics/skills/frontend-design@latest
134
-
135
- # Install from private GitLab
136
- npx reskill@latest install gitlab.company.com:team/internal-skill@v1.0.0
137
-
138
- # List installed skills
139
- npx reskill@latest list
140
- ```
141
-
142
- ### Command Reference
143
-
144
- | Command | Description |
145
- |---------|-------------|
146
- | `npx reskill@latest init` | Initialize `skills.json` in current directory |
147
- | `npx reskill@latest install [skill]` | Install skills from `skills.json` or a specific skill |
148
- | `npx reskill@latest list` | List installed skills |
149
- | `npx reskill@latest info <skill>` | Show skill details |
150
- | `npx reskill@latest update [skill]` | Update all or specific skill |
151
- | `npx reskill@latest outdated` | Check for outdated skills |
152
- | `npx reskill@latest uninstall <skill>` | Remove a skill |
153
- | `npx reskill@latest completion install` | Install shell tab completion |
154
-
155
- Run `npx reskill@latest <command> --help` for detailed options.
156
-
157
- ### Shell Completion
158
-
159
- reskill supports tab completion for bash, zsh, and fish shells.
160
-
161
- ```bash
162
- # Install completion (interactive, one-time setup)
163
- reskill completion install
164
-
165
- # Then restart your shell or run:
166
- source ~/.zshrc # for zsh
167
- source ~/.bashrc # for bash
168
- ```
169
-
170
- After installation, you can use tab completion:
171
-
172
- ```bash
173
- reskill <Tab> # Show all commands
174
- reskill info <Tab> # Complete installed skill names
175
- reskill uninstall <Tab> # Complete installed skill names
176
- reskill install -<Tab> # Complete options (-f, -g, -a, etc.)
177
- reskill install -a <Tab> # Complete agent names
178
- ```
179
-
180
- To remove completion: `reskill completion uninstall`
181
-
182
- ## Private GitLab Support
183
-
184
- reskill fully supports private GitLab repositories, including self-hosted instances. Authentication is handled transparently through your system's git configuration.
185
-
186
- ### Authentication Methods
187
-
188
- **SSH (Recommended)**
189
-
190
- reskill uses your existing SSH configuration automatically:
191
-
192
- ```bash
193
- # Uses your ~/.ssh/id_rsa or ~/.ssh/id_ed25519 automatically
194
- npx reskill@latest install gitlab.company.com:team/private-skill@v1.0.0
195
-
196
- # Or with explicit SSH URL
197
- npx reskill@latest install git@gitlab.company.com:team/private-skill.git@v1.0.0
198
- ```
199
-
200
- Ensure your SSH key is added to GitLab and ssh-agent is running.
201
-
202
- **HTTPS with Git Credential**
203
-
204
- For CI/CD or environments without SSH, configure git credential helper:
205
-
206
- ```bash
207
- # Store credentials (will prompt once, then remember)
208
- git config --global credential.helper store
209
-
210
- # Or use environment variable in CI
211
- git config --global credential.helper '!f() { echo "username=oauth2"; echo "password=${GITLAB_TOKEN}"; }; f'
212
- ```
213
-
214
- For GitLab CI/CD, use the built-in `CI_JOB_TOKEN`:
215
-
216
- ```yaml
217
- before_script:
218
- - git config --global url."https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.company.com/".insteadOf "https://gitlab.company.com/"
219
- ```
220
-
221
- ### Registry Configuration
222
-
223
- Configure private registries in `skills.json`:
224
-
225
- ```json
226
- {
227
- "registries": {
228
- "internal": "https://gitlab.company.com",
229
- "private": "git@gitlab.internal.io"
230
- },
231
- "skills": {
232
- "company-standards": "internal:team/standards@latest",
233
- "private-utils": "private:utils/helpers@v1.0.0"
234
- }
235
- }
236
- ```
237
-
238
- ### Self-Hosted GitLab
239
-
240
- For self-hosted GitLab instances with custom domains:
241
-
242
- ```bash
243
- # Direct installation
244
- npx reskill@latest install git.mycompany.io:team/skill@v1.0.0
245
-
246
- # With explicit SSH URL
247
- npx reskill@latest install git@git.mycompany.io:team/skill.git@v1.0.0
248
- ```
249
-
250
89
  ## Configuration
251
90
 
252
91
  ### skills.json
253
92
 
254
93
  ```json
255
94
  {
256
- "name": "my-project",
257
95
  "skills": {
258
96
  "planning": "github:user/planning-skill@v1.0.0",
259
- "code-review": "gitlab:team/code-review@latest"
260
- },
261
- "defaults": {
262
- "registry": "github",
263
- "installDir": ".skills"
97
+ "internal-tool": "internal:team/tool@latest"
264
98
  },
265
99
  "registries": {
266
100
  "internal": "https://gitlab.company.com"
101
+ },
102
+ "defaults": {
103
+ "installDir": ".skills"
267
104
  }
268
105
  }
269
106
  ```
270
107
 
271
- ### skills.lock
272
-
273
- The lock file records exact versions and commit hashes to ensure reproducible installations across your team.
274
-
275
- ## Multi-Agent Support
276
-
277
- reskill works with all major AI coding agents. Skills are installed to the `.skills/` directory by default and can be integrated with any agent.
278
-
279
- | Agent | Integration Path |
280
- |-------|------------------|
281
- | Cursor | `.cursor/rules/` or `.cursor/skills/` |
282
- | Claude Code | `.claude/skills/` |
283
- | Codex | `.codex/skills/` |
284
- | OpenCode | `.opencode/skills/` |
285
- | Windsurf | `.windsurf/skills/` |
286
- | GitHub Copilot | `.github/skills/` |
108
+ ### Private Repositories
287
109
 
288
- ## Skill Repository Structure
110
+ reskill uses your existing git credentials (SSH keys or credential helper). For CI/CD:
289
111
 
290
- Each skill repository should follow this structure:
291
-
292
- ```
293
- my-skill/
294
- ├── skill.json # Metadata (required)
295
- ├── SKILL.md # Main entry document (required)
296
- ├── README.md # Repository description
297
- └── templates/ # Template files (optional)
298
- ```
299
-
300
- ### skill.json
301
-
302
- ```json
303
- {
304
- "name": "my-skill",
305
- "version": "1.0.0",
306
- "description": "A skill for ...",
307
- "author": "Your Name",
308
- "license": "MIT",
309
- "entry": "SKILL.md",
310
- "keywords": ["ai", "skill"]
311
- }
112
+ ```bash
113
+ # GitLab CI
114
+ git config --global url."https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.company.com/".insteadOf "https://gitlab.company.com/"
312
115
  ```
313
116
 
314
- ## Project Structure
117
+ ## Multi-Agent Support
315
118
 
316
- After installation:
119
+ Skills are installed to `.skills/` by default and can be integrated with any agent:
317
120
 
318
- ```
319
- my-project/
320
- ├── skills.json # Dependency declaration
321
- ├── skills.lock # Version lock file
322
- └── .skills/ # Installation directory
323
- ├── planning/
324
- │ ├── skill.json
325
- │ └── SKILL.md
326
- └── code-review/
327
- ├── skill.json
328
- └── SKILL.md
329
- ```
121
+ | Agent | Path |
122
+ | -------------- | ------------------------------------- |
123
+ | Cursor | `.cursor/rules/` or `.cursor/skills/` |
124
+ | Claude Code | `.claude/skills/` |
125
+ | Codex | `.codex/skills/` |
126
+ | Windsurf | `.windsurf/skills/` |
127
+ | GitHub Copilot | `.github/skills/` |
330
128
 
331
129
  ## Environment Variables
332
130
 
333
- | Variable | Description | Default |
334
- |----------|-------------|---------|
131
+ | Variable | Description | Default |
132
+ | ------------------- | ---------------------- | ------------------ |
335
133
  | `RESKILL_CACHE_DIR` | Global cache directory | `~/.reskill-cache` |
336
- | `DEBUG` | Enable debug logging | - |
134
+ | `DEBUG` | Enable debug logging | - |
337
135
 
338
136
  ## Development
339
137
 
@@ -362,8 +160,6 @@ reskill was inspired by and references the implementations of these excellent pr
362
160
  - [skild](https://github.com/Peiiii/skild) by Peiiii
363
161
  - [openskills](https://github.com/numman-ali/openskills) by Numman Ali
364
162
 
365
- Thanks to these projects for pioneering the AI agent skills ecosystem!
366
-
367
163
  ## Related Links
368
164
 
369
165
  - [Agent Skills Specification](https://agentskills.io)