universal-plugin 0.12.0 → 0.12.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "universal-plugin",
3
- "version": "0.12.0",
3
+ "version": "0.12.2",
4
4
  "description": "Universal AI agent plugin build tool",
5
5
  "keywords": [
6
6
  "agent-plugin",
@@ -39,7 +39,7 @@
39
39
  "agents"
40
40
  ],
41
41
  "dependencies": {
42
- "@cyberuni/agent-harness": "^0.3.0",
42
+ "@cyberuni/agent-harness": "^0.6.0",
43
43
  "@repobuddy/upx": "^0.2.0",
44
44
  "@toon-format/toon": "^4.1.1",
45
45
  "commander": "^15.0.0",
package/plugin.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
3
3
  "name": "universal-plugin",
4
- "version": "0.12.0",
4
+ "version": "0.12.2",
5
5
  "description": "Research and design toolkit for building universal AI coding agent plugins that work across Claude Code, Cursor, Codex, and GitHub Copilot CLI.",
6
6
  "author": {
7
7
  "name": "unional"
@@ -13,6 +13,7 @@
13
13
  "extensions": {
14
14
  "org.cyberuni.universal-plugin": {
15
15
  "skills": "./skills/",
16
+ "dependencies": ["cyber-agent-harness"],
16
17
  "harnesses": {
17
18
  "claude-code": {},
18
19
  "cursor": {},
package/readme.md CHANGED
@@ -109,9 +109,9 @@ TOON by default; pass `--format json` for JSON.
109
109
  ### Reference documents
110
110
 
111
111
  This package ships its own documents (`plugin-design`, `slash-invocation`, `universal-plugin`) under
112
- `references/`. Read one with `buddy-agent-harness reference show <name>` in any project that depends
113
- on `universal-plugin`, or, from a skill, with the `reference` skill in the `buddy-agent-harness`
114
- plugin.
112
+ `references/`. Read one with `npx @cyberuni/agent-harness reference show <name>` in any
113
+ project that depends on `universal-plugin`, or, from a skill, with the `reference` skill in the
114
+ `cyber-agent-harness` plugin.
115
115
 
116
116
  ### Housekeeping
117
117
 
@@ -330,6 +330,6 @@ Portability rules for skill bodies: keep each `SKILL.md` body under 6,000 chars;
330
330
 
331
331
  ## References
332
332
 
333
- Load `skill-design`, `skill-repo-structure`, and `agent-tool-output` with the `reference` skill in the `buddy-agent-harness` plugin.
333
+ Load `skill-design`, `skill-repo-structure`, and `agent-tool-output` with the `reference` skill in the `cyber-agent-harness` plugin.
334
334
 
335
335
  Spec: https://github.com/cyberuni/universal-plugin/blob/main/packages/universal-plugin/.agents/spec/spec.md
@@ -1,4 +1,4 @@
1
1
  # Universal Plugin Format
2
2
 
3
3
  The rules for the universal plugin format live in `plugin-design`, which this package also ships.
4
- Load `plugin-design` with the `reference` skill in the `buddy-agent-harness` plugin.
4
+ Load `plugin-design` with the `reference` skill in the `cyber-agent-harness` plugin.
@@ -111,7 +111,7 @@ Validation runs before the first write, so a failed build leaves the tree untouc
111
111
  | a missing `plugin.json` | `--root` is not the plugin root | point `--root` at the directory holding the canonical manifest |
112
112
  | codex requires `description` / `version` | Codex rejects a manifest without them | add them to `plugin.json` through `init-universal-plugin`, or `version` for the number |
113
113
  | a `--vendor` not among the targets | the manifest does not declare that vendor | declare it through `init-universal-plugin`, or drop the flag |
114
- | `vendorExtensions` or `.plugin/plugin.json` | a pre-0.6 layout this CLI no longer reads | run `doctor-universal-plugin`, which names the migration |
114
+ | `vendorExtensions` or `.plugin/plugin.json` | a layout this CLI does not read | run `doctor-universal-plugin`, which names the migration |
115
115
 
116
116
  ## Do not
117
117
 
@@ -123,8 +123,8 @@ Validation runs before the first write, so a failed build leaves the tree untouc
123
123
  - **Expect a build to pin skill `npx` references.** That is the release-time `plugin bundle`, not
124
124
  this step.
125
125
  - **Expect a build to copy governances into skills.** A skill loads a reference through the
126
- `reference` skill in the `buddy-agent-harness` plugin; the build no longer copies them, and
127
- `--check` is gone.
126
+ `reference` skill in the `cyber-agent-harness` plugin; the build does not copy them and has no
127
+ `--check` flag.
128
128
 
129
129
  ## Related skills
130
130
 
@@ -58,7 +58,7 @@ to derive. Never report it as a fault.
58
58
  A plugin that **does** declare those reports `copilot-cli` as `built` at `com.github.copilot/`
59
59
  instead. Declaring the canonical `$schema` moves them there: Copilot CLI stops reading them from the
60
60
  plugin root entirely, so a root-only layout loads none of them and says nothing
61
- ([ADR-0015](../../.agents/spec/design/decisions/0015-copilot-spec-mode-namespace.md)). That is what
61
+ ([ADR-0015](https://github.com/cyberuni/universal-plugin/blob/main/packages/universal-plugin/.agents/spec/design/decisions/0015-copilot-spec-mode-namespace.md)). That is what
62
62
  `copilot-root-components` reports.
63
63
 
64
64
  If `node` is unavailable, read `scripts/doctor.mjs` and apply the same checks by hand: it composes
@@ -85,7 +85,7 @@ Each `code` below is what the script emits.
85
85
  | `copilot-root-components` | agents, commands, rules, hooks, or LSP servers sit at the plugin root with no copy under `com.github.copilot/` — Copilot CLI reads them only from there in spec mode, so it loads none of them, silently | `/universal-plugin:build-plugin` |
86
86
  | `stale-github-plugin` | a leftover `.github/plugin/plugin.json` from an older build — shadowed by root and no longer generated | `/universal-plugin:remove-plugin` |
87
87
  | `shadowing-manifest` | a `.plugin/plugin.json` exists — it outranks root in Copilot CLI's search order and silently shadows the canonical manifest | `/universal-plugin:remove-plugin` |
88
- | `no-vendors` | no vendor is declared, so the build writes nothing and no runtime reads the plugin. On a repository still on the pre-0.6 layout the build stops rather than reporting an empty result, and the detail says so — read it beside `legacy-manifest` and `shadowing-manifest`, which name the signals | `/universal-plugin:init-universal-plugin`, adopt route on the pre-0.6 layout, else update route |
88
+ | `no-vendors` | no vendor is declared, so the build writes nothing and no runtime reads the plugin. When the repository carries `vendorExtensions` or a `.plugin/plugin.json`, the build stops rather than reporting an empty result, and the detail says so — read it beside `legacy-manifest` and `shadowing-manifest`, which name the signals | `/universal-plugin:init-universal-plugin`, adopt route when `vendorExtensions` or `.plugin/plugin.json` is present, else update route |
89
89
  | `package-path-missing` | `packagePath` names a directory with no readable `package.json` | fix `packagePath`, or create the package |
90
90
  | `package-path-unknown` | the CLI could not report `packagePath` (a version too old to read it), so `version-drift` and `unreleased-content` were skipped rather than guessed | upgrade universal-plugin |
91
91
  | `misplaced-package-path` | `plugin.json` declares `packagePath` under `extensions["org.cyberuni.universal-plugin"]`, where the CLI never reads it — the plugin is silently treated as not shipping to npm | move it to `.agents/universal-plugin.json`, relative to the plugin root |
@@ -150,7 +150,7 @@ other.
150
150
  A runtime keys its plugin cache on the version, not on content: Claude Code resolves the version,
151
151
  finds it unchanged, and reports *"already at the latest version"* without re-extracting. So content
152
152
  pushed without a bump reaches nobody who already installed the plugin, and neither side is told
153
- ([ADR-0010](../../.agents/spec/design/decisions/0010-version-policy.md) §6).
153
+ ([ADR-0010](https://github.com/cyberuni/universal-plugin/blob/main/packages/universal-plugin/.agents/spec/design/decisions/0010-version-policy.md) §6).
154
154
 
155
155
  The script compares the shipped paths — the canonical manifest, the skills directory, `agents/`,
156
156
  `governances/`, `references/`, `mcp.json` — against the commit that set the version the manifest carries now, and
@@ -158,7 +158,7 @@ emits `unreleased-content` for anything committed since. Uncommitted work is not
158
158
  shipped.
159
159
 
160
160
  Two cases are deliberately silent. A plugin that declares `packagePath` is skipped, because there the
161
- release picks the number (ADR-0010 §2) and content waiting ahead of the last released version is the
161
+ release picks the number ([ADR-0010](https://github.com/cyberuni/universal-plugin/blob/main/packages/universal-plugin/.agents/spec/design/decisions/0010-version-policy.md) §2) and content waiting ahead of the last released version is the
162
162
  normal state of a branch. A tree with no git history is skipped rather than guessed at.
163
163
 
164
164
  The repair is the bump, and it belongs to `/universal-plugin:version`. Judge first whether the change
@@ -18,7 +18,7 @@ That asymmetry does not extend to components. Declaring the canonical `$schema`
18
18
  Open Plugin Spec mode, and Copilot CLI then reads its **native** components — agents, commands,
19
19
  rules, hooks, LSP servers — from a `com.github.copilot/` directory rather than the plugin root.
20
20
  Authoring still happens at the canonical locations: `plugin build` derives that directory
21
- ([ADR-0015](../../.agents/spec/design/decisions/0015-copilot-spec-mode-namespace.md)), so do not tell
21
+ ([ADR-0015](https://github.com/cyberuni/universal-plugin/blob/main/packages/universal-plugin/.agents/spec/design/decisions/0015-copilot-spec-mode-namespace.md)), so do not tell
22
22
  an author to move `agents/` into it — the root copy is what the other three vendors derive from. See
23
23
  [`references/vendors/copilot-cli.md`](./references/vendors/copilot-cli.md).
24
24
 
@@ -30,7 +30,7 @@ runtime you are enabling, and only those.
30
30
  | Claude Code | `.claude-plugin/plugin.json` | none | `references/vendors/claude-code.md` |
31
31
  | Cursor | `.cursor-plugin/plugin.json` | none | `references/vendors/cursor.md` |
32
32
  | Codex | `.codex-plugin/plugin.json` | `version`, `description` | `references/vendors/codex.md` |
33
- | GitHub Copilot CLI | none — reads root `plugin.json` | native components derived under `com.github.copilot/` ([ADR-0015](../../.agents/spec/design/decisions/0015-copilot-spec-mode-namespace.md)) | `references/vendors/copilot-cli.md` |
33
+ | GitHub Copilot CLI | none — reads root `plugin.json` | native components derived under `com.github.copilot/` ([ADR-0015](https://github.com/cyberuni/universal-plugin/blob/main/packages/universal-plugin/.agents/spec/design/decisions/0015-copilot-spec-mode-namespace.md)) | `references/vendors/copilot-cli.md` |
34
34
 
35
35
  This skill owns the **authoring** side: the plugin a project ships. Setting a repository up to
36
36
  *consume* skills — the `.agents/skills/` layout, `AGENTS.md`, per-harness bridges — is
@@ -39,7 +39,7 @@ This skill owns the **authoring** side: the plugin a project ships. Setting a re
39
39
  ## Prerequisites
40
40
 
41
41
  Before any work that adds or removes components, load `plugin-design` with the `reference`
42
- skill in the `buddy-agent-harness` plugin.
42
+ skill in the `cyber-agent-harness` plugin.
43
43
 
44
44
  It is the authoritative source for which component to reach for and which anti-patterns to avoid.
45
45
 
@@ -127,7 +127,7 @@ Route by what Phase 2 found. Read exactly the reference for the work at hand —
127
127
  | canonical, and a vendor or component changes | edit `extensions`, then rebuild | [`references/update.md`](./references/update.md) |
128
128
 
129
129
  Three asks leave this skill rather than routing inside it. Hand them over instead of improvising a
130
- route: **`doctor`** reports what is declared, built, stale, or drifting; **`version`** moves the
130
+ route: **`doctor-universal-plugin`** reports what is declared, built, stale, or drifting; **`version`** moves the
131
131
  number; **`remove-plugin`** deletes derived manifests or the plugin itself.
132
132
 
133
133
  Every route ends in the same two commands. Scaffold with the CLI that shipped beside this skill:
@@ -193,7 +193,7 @@ that vendor's `harnesses` entry, or to the drop list you reported in Phase 3, be
193
193
 
194
194
  Audit each skill the plugin ships, per [`references/create.md`](./references/create.md) Step 6.
195
195
  Report what was created, adopted, derived, and left alone. For a fuller read of the plugin's state
196
- than this phase gives — drift, version skew, shadowing manifests — hand off to `doctor`.
196
+ than this phase gives — drift, version skew, shadowing manifests — hand off to `doctor-universal-plugin`.
197
197
 
198
198
  This skill is not a formatter. If the project has one, run it over the written files and say so.
199
199
 
@@ -221,7 +221,7 @@ This skill is not a formatter. If the project has one, run it over the written f
221
221
 
222
222
  | Task | Skill |
223
223
  |------|-------|
224
- | Diagnose a plugin — what is declared, built, stale, or drifting | `doctor` |
224
+ | Diagnose a plugin — what is declared, built, stale, or drifting | `doctor-universal-plugin` |
225
225
  | Make the repository installable, and document how | `marketplace` |
226
226
  | Move the plugin's version, or reconcile one that drifted | `version` |
227
227
  | Delete derived manifests, or the whole plugin | `remove-plugin` |
@@ -233,7 +233,7 @@ This skill is not a formatter. If the project has one, run it over the written f
233
233
 
234
234
  ## References
235
235
 
236
- - Reference: `plugin-design`, loaded with the `reference` skill in the `buddy-agent-harness` plugin
236
+ - Reference: `plugin-design`, loaded with the `reference` skill in the `cyber-agent-harness` plugin
237
237
  - Spec: https://github.com/cyberuni/universal-plugin/blob/main/packages/universal-plugin/.agents/spec/spec.md
238
238
  - Manifest schema (Agent Plugins Specification v1.0.0): https://agent-plugins.org/schemas/1.0.0/plugin.schema.json
239
239
  - Extension schema (the body of `extensions["org.cyberuni.universal-plugin"]`), shipped in the package at
@@ -85,7 +85,7 @@ Copilot CLI. The reverse does not hold: Claude Code rejects the Codex catalog fo
85
85
  | Task | Skill |
86
86
  |------|-------|
87
87
  | Create or change the plugin being listed | `init-universal-plugin` |
88
- | Check that the plugin's own manifests are current | `doctor` |
88
+ | Check that the plugin's own manifests are current | `doctor-universal-plugin` |
89
89
  | Move the version users will install | `version` |
90
90
  | Submit to the shared marketplace repository instead | `publish-plugin` |
91
91
 
@@ -83,5 +83,5 @@ this skill does.
83
83
  | Task | Skill |
84
84
  |------|-------|
85
85
  | Remove a vendor from what the plugin declares | `init-universal-plugin`, update route |
86
- | Confirm what is stale, shadowing, or unbuilt before deleting | `doctor` |
86
+ | Confirm what is stale, shadowing, or unbuilt before deleting | `doctor-universal-plugin` |
87
87
  | Take a published plugin out of a marketplace listing | `publish-plugin` |
@@ -115,7 +115,7 @@ Every guard resolves before the first write, so a failed run leaves the tree unt
115
115
  |------|-------|
116
116
  | Create, adopt, or change what the plugin declares | `init-universal-plugin` |
117
117
  | Re-derive the vendor manifests by hand | `build-plugin` |
118
- | Check whether the two authored versions agree | `doctor` |
118
+ | Check whether the two authored versions agree | `doctor-universal-plugin` |
119
119
  | Add a changeset for the change being released | `add-changeset` |
120
120
  | Refresh the repository's own marketplace catalogs after a bump | `marketplace` |
121
121
  | List the released plugin in the shared marketplace | `publish-plugin` |