@gobing-ai/superskill 0.1.3 → 0.1.4
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 +125 -142
- package/dist/index.js +82389 -78094
- package/package.json +8 -6
- package/rubrics/agent.yaml +52 -0
- package/rubrics/command.yaml +52 -0
- package/rubrics/hook.yaml +42 -0
- package/rubrics/magent.yaml +52 -0
- package/rubrics/skill.yaml +53 -0
package/README.md
CHANGED
|
@@ -4,185 +4,158 @@ Multi-agent skill, command, subagent, hook, and MCP config distribution and auth
|
|
|
4
4
|
|
|
5
5
|
## Why
|
|
6
6
|
|
|
7
|
-
Coding agents (Claude Code, Codex, Pi, OpenCode, Antigravity, Hermes,
|
|
7
|
+
Coding agents (Claude Code, Codex, Pi, OpenCode, Antigravity, Hermes, omp) each use different config formats for skills, slash commands, subagents, hooks, and MCP servers. Maintaining hand-synced copies across agents is error-prone and doesn't scale.
|
|
8
8
|
|
|
9
9
|
**superskill** solves this with two layers:
|
|
10
10
|
|
|
11
11
|
1. **Distribution** — `superskill install` takes a Claude Code plugin as the single source of truth and distributes it to any target agent, using [rulesync](https://www.npmjs.com/package/rulesync) as the format-conversion engine.
|
|
12
|
-
2. **Authoring + quality** — Five type commands (`agent`, `skill`, `command`, `hook`, `magent`) provide scaffold → validate → evaluate → refine → evolve workflows with persistent quality data.
|
|
12
|
+
2. **Authoring + quality** — Five type commands (`agent`, `skill`, `command`, `hook`, `magent`) provide scaffold → validate → evaluate → refine → evolve workflows with persistent quality data in SQLite.
|
|
13
13
|
|
|
14
|
-
##
|
|
15
|
-
|
|
16
|
-
| Target | Engine | Notes |
|
|
17
|
-
|--------|--------|-------|
|
|
18
|
-
| `claude` | Direct marketplace install | Source of truth |
|
|
19
|
-
| `codex` | rulesync | `~/.agents/skills/` |
|
|
20
|
-
| `pi` | rulesync | Subagents → Pi native agent format |
|
|
21
|
-
| `omp` | superskill (copy) | Pi variant with custom root and binary (uses `pi` rulesync surrogate) |
|
|
22
|
-
| `opencode` | rulesync | `~/.agents/skills/` |
|
|
23
|
-
| `antigravity-cli` | rulesync | `~/.gemini/antigravity-cli/skills/` |
|
|
24
|
-
| `antigravity-ide` | rulesync | `~/.gemini/config/skills/` |
|
|
25
|
-
| `hermes` | superskill (copy) | `~/.hermes/skills/` (uses `opencode` rulesync surrogate) |
|
|
26
|
-
|
|
27
|
-
**Deprecated:** Gemini CLI, old unified Antigravity.
|
|
14
|
+
## Install
|
|
28
15
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
16
|
+
```bash
|
|
17
|
+
npm i -g @gobing-ai/superskill
|
|
18
|
+
```
|
|
32
19
|
|
|
33
|
-
|
|
34
|
-
- [proto](https://moonrepo.dev/proto) (optional — pinned versions in `.prototools`)
|
|
20
|
+
From source (contributors):
|
|
35
21
|
|
|
36
22
|
```bash
|
|
37
|
-
#
|
|
38
|
-
proto use
|
|
39
|
-
|
|
40
|
-
# Install dependencies
|
|
23
|
+
proto use # install pinned tool versions (Bun, etc.)
|
|
41
24
|
bun install
|
|
25
|
+
bun run build
|
|
26
|
+
cd apps/cli && bun link
|
|
42
27
|
```
|
|
43
28
|
|
|
44
|
-
|
|
29
|
+
Requires [Bun](https://bun.sh/) ≥ 1.3.14. See [`docs/help/installation.md`](docs/help/installation.md) for details and troubleshooting.
|
|
30
|
+
|
|
31
|
+
## Quick start
|
|
45
32
|
|
|
46
33
|
```bash
|
|
47
|
-
#
|
|
48
|
-
|
|
34
|
+
# Distribute a plugin to every supported target
|
|
35
|
+
superskill install my-plugin --targets all
|
|
49
36
|
|
|
50
|
-
#
|
|
51
|
-
|
|
52
|
-
|
|
37
|
+
# Author a skill: scaffold → validate → evaluate → refine
|
|
38
|
+
superskill skill scaffold my-skill --description "Deploy a Cloudflare Worker"
|
|
39
|
+
superskill skill validate my-skill
|
|
40
|
+
superskill skill evaluate my-skill --save
|
|
41
|
+
superskill skill refine my-skill --auto
|
|
53
42
|
|
|
54
|
-
|
|
43
|
+
# Package a skill for distribution, or merge skills
|
|
44
|
+
superskill skill package my-skill
|
|
45
|
+
superskill skill migrate ./source-skill-1 ./source-skill-2 ./dest-skill
|
|
55
46
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
# Output: dist/cli/superskill
|
|
47
|
+
# Emit a hook to a single target agent
|
|
48
|
+
superskill hook emit my-hook --target pi
|
|
59
49
|
```
|
|
60
50
|
|
|
51
|
+
Full walkthrough: [`docs/help/quick_start.md`](docs/help/quick_start.md).
|
|
52
|
+
|
|
61
53
|
## Commands
|
|
62
54
|
|
|
63
|
-
|
|
55
|
+
| Command | What it does | Docs |
|
|
56
|
+
|---------|--------------|------|
|
|
57
|
+
| `install` | Distribute a plugin's skills, commands, subagents, hooks, MCP to target agents | [`cmd_install.md`](docs/help/cmd_install.md) |
|
|
58
|
+
| `agent` | Manage subagent definitions (scaffold/validate/evaluate/refine/evolve) | [`cmd_agent.md`](docs/help/cmd_agent.md) |
|
|
59
|
+
| `skill` | Manage skill definitions (+ `package`, `migrate`) | [`cmd_skill.md`](docs/help/cmd_skill.md) |
|
|
60
|
+
| `command` | Manage slash command definitions | [`cmd_command.md`](docs/help/cmd_command.md) |
|
|
61
|
+
| `hook` | Manage hook definitions (+ `emit`) | [`cmd_hook.md`](docs/help/cmd_hook.md) |
|
|
62
|
+
| `magent` | Manage main-agent configurations | [`cmd_magent.md`](docs/help/cmd_magent.md) |
|
|
63
|
+
|
|
64
|
+
The five type commands share a common five-operation lifecycle (scaffold → validate → evaluate → refine → evolve) with type-specific quality dimensions and rubrics. Each command doc includes usage, architecture diagrams, sequence diagrams, and source-file references.
|
|
64
65
|
|
|
65
|
-
|
|
66
|
+
**Help docs index:** [`docs/help/index.md`](docs/help/index.md)
|
|
67
|
+
|
|
68
|
+
### Operation lifecycle
|
|
66
69
|
|
|
67
70
|
```
|
|
68
|
-
|
|
71
|
+
scaffold → validate → evaluate → refine → evolve
|
|
72
|
+
↑ │
|
|
73
|
+
└─── longitudinal ───────┘
|
|
69
74
|
```
|
|
70
75
|
|
|
71
|
-
|
|
|
72
|
-
|
|
73
|
-
|
|
|
74
|
-
|
|
|
75
|
-
|
|
|
76
|
-
|
|
|
77
|
-
|
|
|
78
|
-
|
|
76
|
+
| Operation | Purpose | Quality gate |
|
|
77
|
+
|-----------|---------|-------------|
|
|
78
|
+
| `scaffold` | Create new entity from template | Structure validation |
|
|
79
|
+
| `validate` | Check structure and frontmatter | Pre-check spur rules |
|
|
80
|
+
| `evaluate` | Score quality across dimensions | Rubric-weighted scoring (Scorer persona) |
|
|
81
|
+
| `refine` | Apply low-risk fixes automatically | Fix classification (auto-apply / suggest / flag) |
|
|
82
|
+
| `evolve` | Propose longitudinal improvements | Double-loop gate (Author → Skeptic → Judge) |
|
|
83
|
+
|
|
84
|
+
Extra operations by type:
|
|
85
|
+
|
|
86
|
+
| Type | Extra operation | What it does |
|
|
87
|
+
|------|----------------|-------------|
|
|
88
|
+
| `skill` | `package` | Bundle a skill + companion files into a distributable archive |
|
|
89
|
+
| `skill` | `migrate` | Merge one or more source skills into a destination skill |
|
|
90
|
+
| `hook` | `emit` | Emit a hook definition to a single target agent |
|
|
79
91
|
|
|
80
|
-
|
|
92
|
+
## Quality system
|
|
93
|
+
|
|
94
|
+
### Rubric-driven evaluation
|
|
95
|
+
|
|
96
|
+
`evaluate` scores entities across type-specific quality dimensions using YAML rubrics. Ships with 5 package-default rubrics (`agent`, `skill`, `command`, `hook`, `magent`) — load custom ones with `--rubric <path>`.
|
|
81
97
|
|
|
82
98
|
```bash
|
|
83
|
-
#
|
|
84
|
-
superskill
|
|
99
|
+
# Heuristic evaluation (built-in checks)
|
|
100
|
+
superskill skill evaluate my-skill --save
|
|
85
101
|
|
|
86
|
-
#
|
|
87
|
-
superskill
|
|
102
|
+
# Rubric evaluation — emit scoring brief for an external model
|
|
103
|
+
superskill skill evaluate my-skill --rubric --json > scoring-brief.json
|
|
88
104
|
|
|
89
|
-
#
|
|
90
|
-
superskill
|
|
105
|
+
# Ingest scored result and persist
|
|
106
|
+
superskill skill evaluate my-skill --ingest scored-result.json --save
|
|
91
107
|
```
|
|
92
108
|
|
|
93
|
-
|
|
109
|
+
### Two-call seam (Scorer / Author / Skeptic / Judge)
|
|
94
110
|
|
|
95
|
-
|
|
111
|
+
The CLI never scores or generates inline. Quality operations drive four personas via a two-call seam — the CLI emits envelopes, personas process offline, the CLI ingests results.
|
|
96
112
|
|
|
97
|
-
|
|
113
|
+
| Persona | Role | Input | Output |
|
|
114
|
+
|---------|------|-------|--------|
|
|
115
|
+
| **Scorer** | Rubric judge | Envelope from `evaluate --rubric --json` | `{ rubric_version, dimensions: { score, note } }` |
|
|
116
|
+
| **Author** | Rewriter | Envelope from `evolve --propose-only --json` | `ProposedChange[]` with `anchor_hash` |
|
|
117
|
+
| **Skeptic** | Refuter | Proposal + verbatim goal anchor | `{ ok, violations[] }` |
|
|
118
|
+
| **Judge** | Tournament selector | Multiple candidate proposals | Winning proposal ID |
|
|
98
119
|
|
|
99
|
-
|
|
100
|
-
|---------|-------------|
|
|
101
|
-
| `superskill agent` | Manage subagent definitions |
|
|
102
|
-
| `superskill skill` | Manage skill definitions |
|
|
103
|
-
| `superskill command` | Manage slash command definitions |
|
|
104
|
-
| `superskill hook` | Manage hook definitions |
|
|
105
|
-
| `superskill magent` | Manage main-agent configurations |
|
|
120
|
+
### Double-loop gate for `evolve`
|
|
106
121
|
|
|
107
|
-
|
|
122
|
+
`evolve --ingest <file>` applies authored proposals through a four-gate quality control:
|
|
108
123
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
* **Options:**
|
|
114
|
-
* `--description <text>`: Set description frontmatter.
|
|
115
|
-
* `--target <agent>`: Target agent format.
|
|
116
|
-
* `--output <dir>`: Target directory for the output file.
|
|
117
|
-
* `--force`: Overwrite existing files.
|
|
124
|
+
1. **Deterministic validate** — 0 errors required
|
|
125
|
+
2. **Δ-margin** — score must improve by ≥ `--margin` (default 0.05)
|
|
126
|
+
3. **Anchor hash** — goal anchor unchanged (hash-gated)
|
|
127
|
+
4. **Skeptic review** — regressive merges rejected and restored
|
|
118
128
|
|
|
119
|
-
|
|
120
|
-
```bash
|
|
121
|
-
superskill <type> validate <nameOrPath> [options]
|
|
122
|
-
```
|
|
123
|
-
* **Options:**
|
|
124
|
-
* `--target <agent>`: Target agent to validate format compliance.
|
|
125
|
-
* `--strict`: Enable optional/warning-level checks.
|
|
126
|
-
* `--json`: Output findings in JSON format.
|
|
129
|
+
Version-aware trends partition by `rubric_version`, preventing false regression signals when rubrics are updated.
|
|
127
130
|
|
|
128
|
-
|
|
129
|
-
```bash
|
|
130
|
-
superskill <type> evaluate <nameOrPath> [options]
|
|
131
|
-
```
|
|
132
|
-
* **Options:**
|
|
133
|
-
* `--target <agent>`: Target agent formatting rules.
|
|
134
|
-
* `--save`: Save report to SQLite database.
|
|
135
|
-
* `--json`: Output report in JSON format.
|
|
131
|
+
## Supported targets
|
|
136
132
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
133
|
+
| Target | Engine | Output location |
|
|
134
|
+
|--------|--------|-----------------|
|
|
135
|
+
| `claude` | Direct `claude plugin install` | Claude Code marketplace |
|
|
136
|
+
| `codex` | rulesync | `~/.agents/skills/` |
|
|
137
|
+
| `pi` | rulesync + superskill hook shim | Pi native format |
|
|
138
|
+
| `omp` | superskill copy (via `pi` surrogate) | `~/.omp/agent/skills/` |
|
|
139
|
+
| `opencode` | rulesync | `~/.agents/skills/` |
|
|
140
|
+
| `antigravity-cli` | rulesync | `~/.gemini/antigravity-cli/skills/` |
|
|
141
|
+
| `antigravity-ide` | rulesync | `~/.gemini/config/skills/` |
|
|
142
|
+
| `hermes` | superskill copy (via `opencode` surrogate) | `~/.hermes/skills/` |
|
|
145
143
|
|
|
146
|
-
|
|
147
|
-
```bash
|
|
148
|
-
superskill <type> evolve <name> [options]
|
|
149
|
-
```
|
|
150
|
-
* **Options:**
|
|
151
|
-
* `--target <agent>`: Target agent formatting rules.
|
|
152
|
-
* `--from <timestamp>`: Baseline evaluation window.
|
|
153
|
-
* `--proposeOnly`: Propose modifications and save as draft without applying.
|
|
154
|
-
* `--accept <proposal_id>`: Accept and apply a specific draft proposal.
|
|
155
|
-
* `--reject <proposal_id>`: Reject a specific draft proposal.
|
|
144
|
+
Since ts-ai-runner 0.3.21, `omp`, `hermes`, and `antigravity-cli` are canonical `AgentName` values — slash-command dialect translation maps 1:1. Only `antigravity-ide` still bridges through `opencode`.
|
|
156
145
|
|
|
157
|
-
|
|
146
|
+
## Bundled `cc` plugin
|
|
158
147
|
|
|
159
|
-
|
|
148
|
+
superskill ships with a Claude Code plugin at [`plugins/cc/`](plugins/cc/) (marketplace name: `cc`, version `0.1.1`) that demonstrates the full authoring lifecycle and provides the meta-agent skills the expert personas reference:
|
|
160
149
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
store/ # SQLite via @gobing-ai/ts-db
|
|
171
|
-
templates/ # Default templates shipped with npm
|
|
172
|
-
targets.ts # Target enum + mapping tables
|
|
173
|
-
config.ts # superskill.jsonc schema + loader
|
|
174
|
-
marketplace.ts # Marketplace manifest parser + resolver
|
|
175
|
-
mapper.ts # Plugin → .rulesync/ canonical layout
|
|
176
|
-
rulesync.ts # Thin wrapper around rulesync.generate()
|
|
177
|
-
cli.ts # Commander program setup
|
|
178
|
-
index.ts # Entry point
|
|
179
|
-
tests/ # bun:test suites
|
|
180
|
-
packages/ # Shared workspace packages (Bun workspaces)
|
|
181
|
-
tooling/
|
|
182
|
-
typescript/ # Shared tsconfig presets
|
|
183
|
-
docs/ # Authoritative project documentation (00–05, 99)
|
|
184
|
-
vendors/ # Reference-only vendored source (do not modify)
|
|
185
|
-
```
|
|
150
|
+
| Entity | Count | Purpose |
|
|
151
|
+
|--------|-------|---------|
|
|
152
|
+
| **skills** | 6 | `anti-hallucination`, `cc-agents`, `cc-commands`, `cc-hooks`, `cc-magents`, `cc-skills` — domain knowledge for each entity type |
|
|
153
|
+
| **commands** | 16 | 4 operations × 4 entity types — thin slash-command wrappers that delegate to skills |
|
|
154
|
+
| **agents** | 5 | `expert-agent`, `expert-command`, `expert-hook`, `expert-magent`, `expert-skill` — specialist subagents that route to skills |
|
|
155
|
+
| **hooks** | 1 | `Stop` hook running the anti-hallucination guard |
|
|
156
|
+
| **scripts** | 3 | `ah_guard.ts`, `validate_response.ts`, `logger.ts` — deterministic enforcement for the anti-hallucination protocol |
|
|
157
|
+
|
|
158
|
+
The plugin follows a three-tier delegation pattern: **Commands/Agents → Skills → `superskill` CLI**. See [`plugins/cc/README.md`](plugins/cc/README.md) for the full entity design and relationship diagram.
|
|
186
159
|
|
|
187
160
|
## Development
|
|
188
161
|
|
|
@@ -196,10 +169,21 @@ vendors/ # Reference-only vendored source (do not modify)
|
|
|
196
169
|
| Lint + format | Biome 2.4.16 |
|
|
197
170
|
| Test runner | `bun:test` |
|
|
198
171
|
| Format conversion | rulesync (npm) |
|
|
172
|
+
| Quality store | SQLite via `@gobing-ai/ts-db` |
|
|
173
|
+
| Constraint rules | Spur (`spur rule run`) |
|
|
199
174
|
| Git hooks | Lefthook |
|
|
200
175
|
| Conventional commits | cocogitto (`cog`) |
|
|
201
176
|
| Tool versions | proto (`.prototools`) |
|
|
202
177
|
|
|
178
|
+
### Workspace layout
|
|
179
|
+
|
|
180
|
+
```
|
|
181
|
+
apps/cli/ # Commander-based CLI entry (the binary); imports @gobing-ai/superskill-core
|
|
182
|
+
packages/core/ # reusable domain logic and no-app operation APIs
|
|
183
|
+
tooling/typescript/ # shared tsconfig presets
|
|
184
|
+
plugins/cc/ # bundled Claude Code plugin
|
|
185
|
+
```
|
|
186
|
+
|
|
203
187
|
### Commands
|
|
204
188
|
|
|
205
189
|
```bash
|
|
@@ -210,6 +194,7 @@ bun run test # bun test with coverage
|
|
|
210
194
|
bun run build # compile to standalone binary
|
|
211
195
|
bun run dev # watch mode
|
|
212
196
|
bun run check # lint + test (CI gate)
|
|
197
|
+
bun run spur-check # lint + pre-check rules + test + post-check rules
|
|
213
198
|
```
|
|
214
199
|
|
|
215
200
|
### Verification gate
|
|
@@ -220,16 +205,11 @@ All must pass before a change is considered done:
|
|
|
220
205
|
2. `bun run test` — all tests pass, no `.skip` or commented-out tests. Coverage ≥ 90% lines + functions.
|
|
221
206
|
3. `bun run build` — standalone binary compiles.
|
|
222
207
|
4. `git status` — only intentional changes.
|
|
208
|
+
5. `bun run spur-check` — pre-check rules (22) + post-check rules (coverage-gate + tsdoc-export) all green.
|
|
223
209
|
|
|
224
210
|
### Code style
|
|
225
211
|
|
|
226
|
-
Enforced by [biome.json](biome.json):
|
|
227
|
-
|
|
228
|
-
- 4-space indent, 120-char line width
|
|
229
|
-
- Single quotes, semicolons always, trailing commas everywhere
|
|
230
|
-
- `interface` for object shapes, `type` for unions/intersections
|
|
231
|
-
- `any` is an error — narrow the type or justify with `// biome-ignore`
|
|
232
|
-
- Workspace imports use `@<scope>/*` aliases, never deep relative paths
|
|
212
|
+
Enforced by [biome.json](biome.json): 4-space indent, 120-char width, single quotes, semicolons, trailing commas. `interface` for object shapes, `type` for unions. `any` is an error. Workspace imports use `@<scope>/*` aliases.
|
|
233
213
|
|
|
234
214
|
### Commits
|
|
235
215
|
|
|
@@ -237,6 +217,10 @@ Enforced by [biome.json](biome.json):
|
|
|
237
217
|
|
|
238
218
|
## Documentation
|
|
239
219
|
|
|
220
|
+
**Help docs** (usage + implementation diagrams): [`docs/help/`](docs/help/index.md)
|
|
221
|
+
|
|
222
|
+
**Authoritative project docs:**
|
|
223
|
+
|
|
240
224
|
| Doc | Covers |
|
|
241
225
|
|-----|--------|
|
|
242
226
|
| [00_ADR](docs/00_ADR.md) | Architecture decisions (authoritative) |
|
|
@@ -250,4 +234,3 @@ Enforced by [biome.json](biome.json):
|
|
|
250
234
|
## License
|
|
251
235
|
|
|
252
236
|
[Apache 2.0](LICENSE)
|
|
253
|
-
|