syntaur 0.7.1 → 0.8.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/.claude-plugin/plugin.json +23 -0
- package/README.md +64 -24
- package/dist/index.js +632 -254
- package/dist/index.js.map +1 -1
- package/package.json +6 -8
- package/platforms/claude-code/.claude-plugin/plugin.json +15 -2
- package/{vendor/syntaur-skills → platforms/claude-code}/skills/complete-assignment/SKILL.md +0 -2
- package/{vendor/syntaur-skills → platforms/claude-code}/skills/grab-assignment/SKILL.md +2 -7
- package/{vendor/syntaur-skills → platforms/claude-code}/skills/plan-assignment/SKILL.md +1 -3
- package/{vendor/syntaur-skills → platforms/claude-code}/skills/syntaur-protocol/SKILL.md +4 -23
- package/{vendor/syntaur-skills → platforms/claude-code}/skills/syntaur-protocol/references/file-ownership.md +1 -2
- package/{vendor/syntaur-skills → platforms/claude-code}/skills/syntaur-protocol/references/protocol-summary.md +1 -6
- package/platforms/claude-code/skills/track-server/SKILL.md +49 -0
- package/platforms/codex/.codex-plugin/plugin.json +2 -2
- package/platforms/codex/skills/clear-assignment/SKILL.md +111 -0
- package/platforms/codex/skills/complete-assignment/SKILL.md +146 -0
- package/platforms/codex/skills/create-assignment/SKILL.md +73 -0
- package/platforms/codex/skills/create-project/SKILL.md +56 -0
- package/platforms/codex/skills/grab-assignment/SKILL.md +158 -0
- package/platforms/codex/skills/manage-statuses/SKILL.md +72 -0
- package/platforms/codex/skills/plan-assignment/SKILL.md +137 -0
- package/platforms/codex/skills/save-session-summary/SKILL.md +113 -0
- package/platforms/codex/skills/syntaur-protocol/SKILL.md +119 -0
- package/platforms/codex/skills/syntaur-protocol/references/file-ownership.md +67 -0
- package/platforms/codex/skills/syntaur-protocol/references/protocol-summary.md +82 -0
- package/platforms/codex/skills/track-server/SKILL.md +49 -0
- package/platforms/codex/skills/track-session/SKILL.md +63 -26
- package/skills/clear-assignment/SKILL.md +111 -0
- package/skills/complete-assignment/SKILL.md +146 -0
- package/skills/create-assignment/SKILL.md +73 -0
- package/skills/create-project/SKILL.md +56 -0
- package/skills/grab-assignment/SKILL.md +158 -0
- package/skills/manage-statuses/SKILL.md +72 -0
- package/skills/plan-assignment/SKILL.md +137 -0
- package/skills/save-session-summary/SKILL.md +113 -0
- package/skills/syntaur-protocol/SKILL.md +119 -0
- package/skills/syntaur-protocol/references/file-ownership.md +67 -0
- package/skills/syntaur-protocol/references/protocol-summary.md +82 -0
- package/skills/track-server/SKILL.md +49 -0
- package/skills/track-session/SKILL.md +86 -0
- package/scripts/postinstall-submodules.mjs +0 -40
- package/vendor/syntaur-skills/LICENSE +0 -21
- package/vendor/syntaur-skills/README.md +0 -57
- /package/{vendor/syntaur-skills → platforms/claude-code}/skills/clear-assignment/SKILL.md +0 -0
- /package/{vendor/syntaur-skills → platforms/claude-code}/skills/create-assignment/SKILL.md +0 -0
- /package/{vendor/syntaur-skills → platforms/claude-code}/skills/create-project/SKILL.md +0 -0
- /package/{vendor/syntaur-skills → platforms/claude-code}/skills/manage-statuses/SKILL.md +0 -0
- /package/{vendor/syntaur-skills → platforms/claude-code}/skills/save-session-summary/SKILL.md +0 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "syntaur",
|
|
3
|
+
"version": "0.8.0",
|
|
4
|
+
"description": "Syntaur protocol skills for AI coding agents — assignment, project, plan, and session lifecycle. Cross-agent (Claude Code, Codex, Cursor, OpenCode, Gemini CLI, and more via skills.sh).",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Brennen",
|
|
7
|
+
"email": ""
|
|
8
|
+
},
|
|
9
|
+
"homepage": "https://github.com/prong-horn/syntaur",
|
|
10
|
+
"skills": [
|
|
11
|
+
"./skills/syntaur-protocol",
|
|
12
|
+
"./skills/grab-assignment",
|
|
13
|
+
"./skills/plan-assignment",
|
|
14
|
+
"./skills/complete-assignment",
|
|
15
|
+
"./skills/create-assignment",
|
|
16
|
+
"./skills/create-project",
|
|
17
|
+
"./skills/manage-statuses",
|
|
18
|
+
"./skills/clear-assignment",
|
|
19
|
+
"./skills/save-session-summary",
|
|
20
|
+
"./skills/track-session",
|
|
21
|
+
"./skills/track-server"
|
|
22
|
+
]
|
|
23
|
+
}
|
package/README.md
CHANGED
|
@@ -107,9 +107,10 @@ A full install (CLI + both plugins + skills) touches the following locations:
|
|
|
107
107
|
| `~/.npm/_npx/<hash>/` | npx-cached copy of the `syntaur` package | npm |
|
|
108
108
|
| `$(npm root -g)/syntaur/` | Globally-installed copy of the `syntaur` package | `npm install -g` |
|
|
109
109
|
| `~/.claude/plugins/.../syntaur/` | Claude Code plugin directory (slash commands, hooks, agent, marketplace entry) | `syntaur install-plugin` |
|
|
110
|
-
| `~/.claude/skills/<skill>/` | Protocol skills (
|
|
111
|
-
| `~/.
|
|
112
|
-
| `~/.codex/
|
|
110
|
+
| `~/.claude/skills/<skill>/` | Protocol skills (11 of them, including `save-session-summary`) | `npx skills add prong-horn/syntaur` OR `syntaur install-plugin --force-skills` (skipped by default when the plugin is enabled) |
|
|
111
|
+
| `~/.claude/plugins/marketplaces/<name>/plugins/syntaur/skills/` | Plugin-loaded skills (preferred path when the plugin is enabled) | `syntaur install-plugin` mirrors `<repo>/skills/` here |
|
|
112
|
+
| `~/.codex/plugins/syntaur/` (or chosen dir) | Codex plugin directory (commands, hooks, mirrored skills) | `syntaur install-codex-plugin` |
|
|
113
|
+
| `~/.codex/skills/<skill>/` | Protocol skills (when not using the plugin path) | `npx skills add prong-horn/syntaur -a codex` OR `syntaur install-codex-plugin --force-skills` |
|
|
113
114
|
| `~/.agents/plugins/marketplace.json` | Codex marketplace entry | `syntaur install-codex-plugin` |
|
|
114
115
|
| `<repo>/.syntaur/context.json` | Per-workspace agent context (current assignment, session id, transcript path) | Written by the `grab-assignment` skill and SessionStart hooks |
|
|
115
116
|
|
|
@@ -161,33 +162,64 @@ Any of these can be prefixed with `npx syntaur@latest` if you chose not to insta
|
|
|
161
162
|
|
|
162
163
|
## Protocol Skills
|
|
163
164
|
|
|
164
|
-
|
|
165
|
+
All Syntaur skills live at `<repo>/skills/<name>/SKILL.md` — one canonical source. The full set ships with the package and includes:
|
|
165
166
|
|
|
166
|
-
`syntaur
|
|
167
|
+
`syntaur-protocol`, `grab-assignment`, `plan-assignment`, `complete-assignment`, `create-assignment`, `create-project`, `manage-statuses`, `clear-assignment`, `track-session` (Claude Code agent session registration), `track-server` (tmux dev-server tracking).
|
|
167
168
|
|
|
168
|
-
|
|
169
|
-
- **Target matches the vendored version byte-for-byte** → no-op.
|
|
170
|
-
- **Target differs (you edited it)** → skill is preserved and you get a warning. Pass `--force-skills` to overwrite.
|
|
169
|
+
There are three install paths, all backed by the same `<repo>/skills/`:
|
|
171
170
|
|
|
172
|
-
|
|
171
|
+
### 1. `npx skills add` — primary, cross-agent (recommended)
|
|
172
|
+
|
|
173
|
+
Works for Claude Code, Codex, Cursor, OpenCode, Gemini CLI, Cline, Copilot, and ~50 others via the [skills.sh](https://skills.sh) ecosystem CLI:
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
# All agents detected on your machine, all syntaur skills:
|
|
177
|
+
npx skills add prong-horn/syntaur
|
|
178
|
+
|
|
179
|
+
# Subset:
|
|
180
|
+
npx skills add prong-horn/syntaur --skill grab-assignment
|
|
181
|
+
|
|
182
|
+
# Specific agents only:
|
|
183
|
+
npx skills add prong-horn/syntaur -a claude-code -a codex
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
The skills.sh CLI handles per-agent target paths automatically. No syntaur CLI required.
|
|
187
|
+
|
|
188
|
+
### 2. Claude Code plugin — convenience for Claude users
|
|
189
|
+
|
|
190
|
+
Enable the `syntaur` plugin via Claude Code's `/plugin` UI (after the marketplace is registered). Skills are declared inline in the plugin manifest, so enabling the plugin loads them — no separate `~/.claude/skills/` install required.
|
|
191
|
+
|
|
192
|
+
`syntaur install-plugin` puts the plugin in your local user-plugins marketplace (or any marketplace you've configured) and registers it with Claude Code's `known_marketplaces.json` so it shows up in `/plugin`. Pass `--enable` to flip it on in `settings.json` automatically:
|
|
173
193
|
|
|
174
194
|
```bash
|
|
175
|
-
syntaur install-plugin --
|
|
176
|
-
syntaur install-plugin --force-skills # overwrite any user-edited skills
|
|
177
|
-
syntaur uninstall-skills --all # remove the 6 skills from both dirs
|
|
178
|
-
syntaur uninstall-skills --claude # only ~/.claude/skills
|
|
179
|
-
syntaur uninstall-skills --codex # only ~/.codex/skills
|
|
195
|
+
syntaur install-plugin --enable
|
|
180
196
|
```
|
|
181
197
|
|
|
182
|
-
|
|
198
|
+
### 3. `syntaur install-plugin` — power-user / CI path
|
|
183
199
|
|
|
184
|
-
|
|
200
|
+
Provides the full syntaur CLI (track-session, install-statusline, dashboard, doctor, etc.) plus the plugin. By default the plugin path provides the skills — global install into `~/.claude/skills/` is skipped when the plugin is enabled, so the same skill never registers twice. Override knobs:
|
|
185
201
|
|
|
186
202
|
```bash
|
|
187
|
-
|
|
203
|
+
syntaur install-plugin --skip-skills # plugin only; never write ~/.claude/skills
|
|
204
|
+
syntaur install-plugin --force-skills # write skills globally even if the plugin is enabled
|
|
205
|
+
syntaur install-plugin --enable # auto-enable in settings.json after install
|
|
206
|
+
syntaur install-plugin --target-dir <path> # specific marketplace plugin dir
|
|
207
|
+
SYNTAUR_PLUGIN_TARGET=<path> syntaur install-plugin # env override (CI)
|
|
208
|
+
syntaur uninstall-skills --all # remove the syntaur skills from both ~/.claude/skills and ~/.codex/skills
|
|
188
209
|
```
|
|
189
210
|
|
|
190
|
-
|
|
211
|
+
`uninstall-skills` is safe: it only removes a skill directory if its `SKILL.md` `name:` matches one we ship, so a user-authored skill with the same dir name is preserved.
|
|
212
|
+
|
|
213
|
+
### Avoiding duplicates across paths
|
|
214
|
+
|
|
215
|
+
`syntaur doctor` includes a `skills.dedup` check that flags when the syntaur plugin is enabled AND syntaur skills are also installed globally (which would register the same skill twice). It also checks that `marketplace.json` and `known_marketplaces.json` agree about where the syntaur plugin lives. Run it after switching install paths:
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
syntaur doctor --only skills.dedup
|
|
219
|
+
syntaur doctor --only integrations.claude-marketplace-registered
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
Symlinks created by `npx skills add` are recognized and never overwritten by the syntaur CLI.
|
|
191
223
|
|
|
192
224
|
---
|
|
193
225
|
|
|
@@ -199,7 +231,11 @@ Installing both the `syntaur` plugin AND `npx skills add prong-horn/syntaur-skil
|
|
|
199
231
|
| npx | Nothing to do — `npx syntaur@latest ...` always consults the registry. To force a refetch: `rm -rf ~/.npm/_npx` |
|
|
200
232
|
| Mixed | `syntaur` (global) stays pinned; `npx syntaur@latest` uses whatever's live. The CLI will prompt to upgrade the global install when the npx version is newer. |
|
|
201
233
|
|
|
202
|
-
When you upgrade,
|
|
234
|
+
When you upgrade, skills under `~/.claude/skills/` and `~/.codex/skills/` are NOT automatically re-copied. Either:
|
|
235
|
+
|
|
236
|
+
- **`npx skills add prong-horn/syntaur` users**: run `npx skills update` to pull the latest.
|
|
237
|
+
- **Plugin users**: enable / re-enable the plugin in `/plugin`. The plugin manifest references `<plugin-target>/skills/` directly, which is repopulated by `syntaur install-plugin`'s build-time mirror.
|
|
238
|
+
- **`syntaur install-plugin` users**: re-run the command. It'll skip any skill you've edited unless you pass `--force-skills`.
|
|
203
239
|
|
|
204
240
|
---
|
|
205
241
|
|
|
@@ -283,8 +319,9 @@ Run `syntaur doctor` to diagnose inconsistent state (missing files, stale manife
|
|
|
283
319
|
Common issues:
|
|
284
320
|
|
|
285
321
|
- **"Error: no such column: project_slug"** — pre-v0.2.0 database. Upgrade to the latest `syntaur` (0.3.1+) — the auto-migration runs on next init.
|
|
286
|
-
- **Plugin installed but Claude Code doesn't see
|
|
287
|
-
- **Skills missing
|
|
322
|
+
- **Plugin installed but Claude Code doesn't see it** — run `syntaur doctor --only integrations.claude-marketplace-registered`. The most common cause is `~/.claude/plugins/known_marketplaces.json` not registering the marketplace; `syntaur install-plugin` (0.7.0+) writes that registration automatically. Then enable in `/plugin`, or rerun with `--enable`.
|
|
323
|
+
- **Skills missing from Claude Code after plugin install** — they live inside the plugin dir's `skills/` (mirrored from `<repo>/skills/` at install time). If the plugin is enabled, the skills auto-load. If you'd rather have them in `~/.claude/skills/` for a non-plugin install, run `syntaur install-plugin --skip-skills=false --force-skills`.
|
|
324
|
+
- **Same skill appears twice in Claude Code** — `syntaur doctor --only skills.dedup`. Either disable the plugin or remove the global copies via `syntaur uninstall-skills --claude`.
|
|
288
325
|
- **`npx syntaur` keeps asking to install globally** — choose "3) Never", or `export SYNTAUR_SKIP_INSTALL_PROMPT=1`.
|
|
289
326
|
- **Want to revert the global install to the published version** — `npm run untry` in the syntaur repo, which runs `npm unlink -g syntaur && npm install -g syntaur@latest`.
|
|
290
327
|
|
|
@@ -293,13 +330,16 @@ Common issues:
|
|
|
293
330
|
```bash
|
|
294
331
|
git clone git@github.com:prong-horn/syntaur.git
|
|
295
332
|
cd syntaur
|
|
296
|
-
|
|
297
|
-
npm
|
|
333
|
+
npm install
|
|
334
|
+
npm run mirror-skills # populate platforms/<kind>/skills/ from <repo>/skills/
|
|
335
|
+
npm run build
|
|
298
336
|
npm run typecheck
|
|
299
337
|
npm test
|
|
300
|
-
npx vitest run src/__tests__/
|
|
338
|
+
npx vitest run src/__tests__/install-plugin-marketplace.test.ts
|
|
301
339
|
```
|
|
302
340
|
|
|
341
|
+
Skills live at `<repo>/skills/`. The `mirror-skills` script (also wired up as `prepack`) copies them into each platform plugin dir so plugin manifests' relative `./skills/<name>` paths resolve. Those mirrored copies are gitignored.
|
|
342
|
+
|
|
303
343
|
Repo-local plugin linking for development:
|
|
304
344
|
|
|
305
345
|
```bash
|