@akshar5/skillsync 0.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/README.md ADDED
@@ -0,0 +1,131 @@
1
+ # SkillSync
2
+
3
+ Local-first skill manager for AI agent skills.
4
+
5
+ SkillSync uses a private GitHub repo as your cloud vault, then keeps selected skills linked into local agent skill folders on each device.
6
+
7
+ ## What it manages
8
+
9
+ Vault repo layout:
10
+
11
+ ```text
12
+ skills/
13
+ some-skill/
14
+ SKILL.md
15
+ registry.json # generated, do not edit
16
+ devices/*.json # generated, do not edit
17
+ ```
18
+
19
+ User-owned files are the skill folders under `skills/`. SkillSync owns `registry.json` and `devices/*.json`.
20
+
21
+ ## Install on another device
22
+
23
+ SkillSync is an npm-style CLI package. Once published, the nice path will be:
24
+
25
+ ```bash
26
+ npx @akshar5/skillsync setup --repo AksharP5/skills
27
+ npx @akshar5/skillsync add https://github.com/raroque/vibe-security-skill --skill vibe-security
28
+ ```
29
+
30
+ It is not published to the public npm registry yet. Install it from the private GitHub repo for now:
31
+
32
+ ```bash
33
+ # macOS
34
+ brew install gh git node
35
+
36
+ gh auth login
37
+ npm install -g git+ssh://git@github.com/AksharP5/skillsync.git
38
+ ```
39
+
40
+ If SSH is not set up on that device yet, use the clone/link fallback:
41
+
42
+ ```bash
43
+ mkdir -p ~/projects
44
+ gh repo clone AksharP5/skillsync ~/projects/skillsync
45
+ cd ~/projects/skillsync
46
+ npm install
47
+ npm link
48
+ ```
49
+
50
+ Connect to an existing vault:
51
+
52
+ ```bash
53
+ skillsync setup --repo AksharP5/skills
54
+ ```
55
+
56
+ Or create/select a different private vault repo name:
57
+
58
+ ```bash
59
+ skillsync setup --name my-skills
60
+ ```
61
+
62
+ If you run plain `skillsync setup` in an interactive terminal, it asks for the repo name and defaults to `skills`. `setup --name` creates `OWNER/my-skills` as a private GitHub repo if it does not exist. If it exists, SkillSync verifies it is private before using it.
63
+
64
+ ## Commands
65
+
66
+ ```bash
67
+ skillsync setup
68
+ skillsync
69
+ skillsync add <skill-folder-or-git-url> --skill <name>
70
+ skillsync add https://github.com/raroque/vibe-security-skill --skill vibe-security
71
+ skillsync import hermes
72
+ skillsync install <skill> --target codex
73
+ skillsync uninstall <skill>
74
+ skillsync delete <skill>
75
+ skillsync target add codex ~/.codex/skills
76
+ skillsync target add hermes ~/.hermes/skills/personal --scan-path ~/.hermes/skills
77
+ skillsync scan
78
+ skillsync sync
79
+ skillsync service install
80
+ ```
81
+
82
+ ## Removal model
83
+
84
+ - `skillsync uninstall <skill>` removes the skill from the current device only.
85
+ - `skillsync delete <skill>` removes the skill from the vault and all device manifests.
86
+
87
+ ## Add from GitHub
88
+
89
+ You can import a skill directly from a GitHub repo into your private vault:
90
+
91
+ ```bash
92
+ skillsync add https://github.com/raroque/vibe-security-skill --skill vibe-security
93
+ ```
94
+
95
+ If the repo has multiple skills, omit `--skill` in an interactive terminal and SkillSync will ask which ones to add. Add `--target codex` or `--target '*'` to install it on the current device immediately after importing.
96
+
97
+ ## Publishing to npm
98
+
99
+ Clone the project on the machine where your npm account is configured:
100
+
101
+ ```bash
102
+ gh repo clone AksharP5/skillsync ~/projects/skillsync
103
+ cd ~/projects/skillsync
104
+ npm install
105
+ npm test
106
+ npm pack --dry-run
107
+ npm login
108
+ npm publish --access public
109
+ ```
110
+
111
+ The package name is `@akshar5/skillsync` because `skillsync` is already taken on npm. The installed command is still `skillsync`.
112
+
113
+ ## Detected versus managed skills
114
+
115
+ `installed` skills are SkillSync-managed projections into a target folder. `detected` skills are already present in a local agent's skill tree, such as bundled Hermes skills under `~/.hermes/skills`.
116
+
117
+ For Hermes, use a separate scan path so SkillSync installs personal synced skills into `~/.hermes/skills/personal` while still showing the full Hermes skill inventory from `~/.hermes/skills`:
118
+
119
+ ```bash
120
+ skillsync target add hermes ~/.hermes/skills/personal --scan-path ~/.hermes/skills
121
+ skillsync scan
122
+ ```
123
+
124
+ ## Auto-sync
125
+
126
+ `skillsync service install` installs a background service:
127
+
128
+ - macOS: LaunchAgent
129
+ - Linux: systemd user service
130
+
131
+ The service periodically pulls/pushes the GitHub vault and reapplies symlinks.
package/package.json ADDED
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "@akshar5/skillsync",
3
+ "version": "0.1.0",
4
+ "description": "Local-first GitHub-backed skill vault sync client for AI agent skills.",
5
+ "type": "module",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/AksharP5/skillsync.git"
9
+ },
10
+ "homepage": "https://github.com/AksharP5/skillsync#readme",
11
+ "bugs": {
12
+ "url": "https://github.com/AksharP5/skillsync/issues"
13
+ },
14
+ "bin": {
15
+ "skillsync": "src/cli.js"
16
+ },
17
+ "files": [
18
+ "src",
19
+ "README.md"
20
+ ],
21
+ "publishConfig": {
22
+ "access": "public"
23
+ },
24
+ "scripts": {
25
+ "test": "node --test",
26
+ "start": "node src/cli.js"
27
+ },
28
+ "dependencies": {
29
+ "@inquirer/prompts": "^7.3.2"
30
+ },
31
+ "devDependencies": {},
32
+ "engines": {
33
+ "node": ">=20"
34
+ },
35
+ "license": "MIT"
36
+ }