persona-harness 0.10.0 → 0.11.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.
Files changed (56) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +8 -0
  3. package/dist/cli/cli-usage.js +4 -0
  4. package/dist/cli/cli-usage.js.map +1 -1
  5. package/dist/cli/host-plugin-command.d.ts +5 -0
  6. package/dist/cli/host-plugin-command.js +32 -0
  7. package/dist/cli/host-plugin-command.js.map +1 -0
  8. package/dist/cli/host-plugin-distribution.d.ts +21 -0
  9. package/dist/cli/host-plugin-distribution.js +309 -0
  10. package/dist/cli/host-plugin-distribution.js.map +1 -0
  11. package/dist/cli/index.js +4 -0
  12. package/dist/cli/index.js.map +1 -1
  13. package/docs/current/persona-shared-skills-core.md +2 -1
  14. package/docs/current/portable-host-adapters.md +38 -0
  15. package/docs/current/release/consumer-authority-current-acceptance.json +1 -1
  16. package/docs/current/release/v0.11.0-release-notes.md +50 -0
  17. package/package.json +7 -3
  18. package/packages/host-plugins/claude/.claude-plugin/plugin.json +19 -0
  19. package/packages/host-plugins/claude/skills/ast-grep/SKILL.md +22 -0
  20. package/packages/host-plugins/claude/skills/debug/SKILL.md +22 -0
  21. package/packages/host-plugins/claude/skills/deep-interview/SKILL.md +32 -0
  22. package/packages/host-plugins/claude/skills/frontend/SKILL.md +22 -0
  23. package/packages/host-plugins/claude/skills/git/SKILL.md +22 -0
  24. package/packages/host-plugins/claude/skills/grill-me/SKILL.md +38 -0
  25. package/packages/host-plugins/claude/skills/implementation/SKILL.md +23 -0
  26. package/packages/host-plugins/claude/skills/lsp-setup/SKILL.md +22 -0
  27. package/packages/host-plugins/claude/skills/philosophy-refinement/SKILL.md +41 -0
  28. package/packages/host-plugins/claude/skills/plan/SKILL.md +24 -0
  29. package/packages/host-plugins/claude/skills/programming/SKILL.md +28 -0
  30. package/packages/host-plugins/claude/skills/ralplan/SKILL.md +23 -0
  31. package/packages/host-plugins/claude/skills/refactor/SKILL.md +22 -0
  32. package/packages/host-plugins/claude/skills/review/SKILL.md +22 -0
  33. package/packages/host-plugins/claude/skills/tdd/SKILL.md +23 -0
  34. package/packages/host-plugins/claude/skills/technical-intake/SKILL.md +24 -0
  35. package/packages/host-plugins/claude/skills/visual-qa/SKILL.md +22 -0
  36. package/packages/host-plugins/codex/.agents/plugins/marketplace.json +20 -0
  37. package/packages/host-plugins/codex/plugins/persona-harness/.codex-plugin/plugin.json +30 -0
  38. package/packages/host-plugins/codex/plugins/persona-harness/skills/ast-grep/SKILL.md +22 -0
  39. package/packages/host-plugins/codex/plugins/persona-harness/skills/debug/SKILL.md +22 -0
  40. package/packages/host-plugins/codex/plugins/persona-harness/skills/deep-interview/SKILL.md +32 -0
  41. package/packages/host-plugins/codex/plugins/persona-harness/skills/frontend/SKILL.md +22 -0
  42. package/packages/host-plugins/codex/plugins/persona-harness/skills/git/SKILL.md +22 -0
  43. package/packages/host-plugins/codex/plugins/persona-harness/skills/grill-me/SKILL.md +38 -0
  44. package/packages/host-plugins/codex/plugins/persona-harness/skills/implementation/SKILL.md +23 -0
  45. package/packages/host-plugins/codex/plugins/persona-harness/skills/lsp-setup/SKILL.md +22 -0
  46. package/packages/host-plugins/codex/plugins/persona-harness/skills/philosophy-refinement/SKILL.md +41 -0
  47. package/packages/host-plugins/codex/plugins/persona-harness/skills/plan/SKILL.md +24 -0
  48. package/packages/host-plugins/codex/plugins/persona-harness/skills/programming/SKILL.md +28 -0
  49. package/packages/host-plugins/codex/plugins/persona-harness/skills/ralplan/SKILL.md +23 -0
  50. package/packages/host-plugins/codex/plugins/persona-harness/skills/refactor/SKILL.md +22 -0
  51. package/packages/host-plugins/codex/plugins/persona-harness/skills/review/SKILL.md +22 -0
  52. package/packages/host-plugins/codex/plugins/persona-harness/skills/tdd/SKILL.md +23 -0
  53. package/packages/host-plugins/codex/plugins/persona-harness/skills/technical-intake/SKILL.md +24 -0
  54. package/packages/host-plugins/codex/plugins/persona-harness/skills/visual-qa/SKILL.md +22 -0
  55. package/packages/shared-skills/package.json +1 -1
  56. package/scripts/check-host-skill-plugins.mjs +14 -0
package/CHANGELOG.md CHANGED
@@ -8,6 +8,21 @@ preparation alone does not establish stable support or channel state.
8
8
 
9
9
  ## Unreleased
10
10
 
11
+ ## [0.11.0] - 2026-09-02
12
+
13
+ - Ship the canonical shared-skill catalog as package-contained plugin artifacts
14
+ for Codex and Claude Code. `ph plugin path <host>` verifies the installed
15
+ artifact tree before returning its path.
16
+ - Keep host registration explicit: Persona Harness does not add a Codex
17
+ marketplace, enable a plugin, or change a Claude Code configuration by
18
+ inference.
19
+ - Use Codex's `.agents/plugins/marketplace.json` package layout and a
20
+ Claude-compatible baseline manifest so the packaged directories validate in
21
+ the supported local host CLIs.
22
+ - Keep tarball packing fail-closed while leaving `npm pack --json` machine
23
+ readable; the host-plugin check is quiet on success and reports only bounded
24
+ failures.
25
+
11
26
  ## [0.10.0] - 2026-09-01
12
27
 
13
28
  - Add a separate, default-on `features.sharedSkillRouting` boundary for the
package/README.md CHANGED
@@ -436,6 +436,14 @@ discovery so an OpenCode project receives one native candidate rather than
436
436
  duplicates. For the full ownership, upgrade, and non-claim boundary, read the
437
437
  [portable host adapter guide](docs/current/portable-host-adapters.md).
438
438
 
439
+ The npm package also ships verified, versioned Codex and Claude Code plugin
440
+ directories. `npx ph plugin path codex` prints the package-local Codex
441
+ marketplace root, and `npx ph plugin path claude` prints the Claude plugin root.
442
+ Those commands are read-only; adding a marketplace or loading a plugin remains
443
+ an explicit host command. See the [portable host adapter guide](docs/current/portable-host-adapters.md#install-packaged-host-plugins)
444
+ for the exact commands and the boundary between static readiness and live host
445
+ selection.
446
+
439
447
  ### Node runtime floor
440
448
 
441
449
  The packaged CLI and its product-owned Sigstore authority verifiers require
@@ -13,6 +13,7 @@ function englishUsage(invocationName) {
13
13
  " go <goal> | --stdin Host-neutral single entry from a concrete goal to the current ticket and implementation rail.",
14
14
  " doctor Diagnose local OpenCode and Persona Harness installation state.",
15
15
  " update Control opt-in project-local automatic Persona Harness updates.",
16
+ " plugin path <host> Print a verified Codex marketplace or Claude plugin path.",
16
17
  " observe <path> Report Java/Spring observer findings for a file or directory.",
17
18
  " context Inspect the experimental default-off Context track.",
18
19
  " authority Inspect or enroll bounded external consumer authority.",
@@ -29,6 +30,7 @@ function englishUsage(invocationName) {
29
30
  ` ${invocationName} doctor`,
30
31
  ` ${invocationName} update enable --yes`,
31
32
  ` ${invocationName} update repair --yes`,
33
+ ` ${invocationName} plugin path codex`,
32
34
  ` ${invocationName} observe src/main/java`,
33
35
  ` ${invocationName} context status`,
34
36
  ` ${invocationName} authority status`,
@@ -51,6 +53,7 @@ function koreanUsage(invocationName) {
51
53
  " go <goal> | --stdin 구체적인 목표를 현재 ticket과 구현 rail로 연결하는 단일 진입점입니다.",
52
54
  " doctor 로컬 OpenCode 및 Persona Harness 설치 상태를 진단합니다.",
53
55
  " update 프로젝트별 자동 Persona Harness 업데이트를 제어합니다.",
56
+ " plugin path <host> 검증된 Codex marketplace 또는 Claude 플러그인 경로를 출력합니다.",
54
57
  " observe <path> 파일 또는 디렉터리의 Java/Spring observer 관측 결과를 보고합니다.",
55
58
  " context 실험적 기본 비활성 Context 트랙을 확인합니다.",
56
59
  " authority 제한된 외부 consumer authority 상태를 확인하거나 등록합니다.",
@@ -69,6 +72,7 @@ function koreanUsage(invocationName) {
69
72
  ` ${invocationName} doctor`,
70
73
  ` ${invocationName} update enable --yes`,
71
74
  ` ${invocationName} update repair --yes`,
75
+ ` ${invocationName} plugin path codex`,
72
76
  ` ${invocationName} observe src/main/java`,
73
77
  ` ${invocationName} context status`,
74
78
  ` ${invocationName} authority status`,
@@ -1 +1 @@
1
- {"version":3,"file":"cli-usage.js","sourceRoot":"","sources":["../../src/cli/cli-usage.ts"],"names":[],"mappings":"AAEA,SAAS,YAAY,CAAC,cAAsB;IAC1C,OAAO;QACL,UAAU,cAAc,sBAAsB;QAC9C,EAAE;QACF,iBAAiB;QACjB,qEAAqE;QACrE,gFAAgF;QAChF,EAAE;QACF,kBAAkB;QAClB,4EAA4E;QAC5E,2FAA2F;QAC3F,iGAAiG;QACjG,+HAA+H;QAC/H,gGAAgG;QAChG,gGAAgG;QAChG,8FAA8F;QAC9F,oFAAoF;QACpF,uFAAuF;QACvF,4GAA4G;QAC5G,uFAAuF;QACvF,EAAE;QACF,WAAW;QACX,KAAK,cAAc,UAAU;QAC7B,KAAK,cAAc,YAAY;QAC/B,KAAK,cAAc,OAAO;QAC1B,KAAK,cAAc,eAAe;QAClC,KAAK,cAAc,qCAAqC;QACxD,mCAAmC,cAAc,aAAa;QAC9D,KAAK,cAAc,SAAS;QAC5B,KAAK,cAAc,sBAAsB;QACzC,KAAK,cAAc,sBAAsB;QACzC,KAAK,cAAc,wBAAwB;QAC3C,KAAK,cAAc,iBAAiB;QACpC,KAAK,cAAc,mBAAmB;QACtC,KAAK,cAAc,mDAAmD;QACtE,KAAK,cAAc,oBAAoB;KACxC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED,SAAS,WAAW,CAAC,cAAsB;IACzC,OAAO;QACL,QAAQ,cAAc,eAAe;QACrC,EAAE;QACF,QAAQ;QACR,qDAAqD;QACrD,oEAAoE;QACpE,EAAE;QACF,QAAQ;QACR,gEAAgE;QAChE,6EAA6E;QAC7E,6EAA6E;QAC7E,8EAA8E;QAC9E,4EAA4E;QAC5E,sEAAsE;QACtE,+EAA+E;QAC/E,8DAA8D;QAC9D,2EAA2E;QAC3E,qFAAqF;QACrF,0EAA0E;QAC1E,EAAE;QACF,mCAAmC;QACnC,EAAE;QACF,KAAK;QACL,KAAK,cAAc,UAAU;QAC7B,KAAK,cAAc,YAAY;QAC/B,KAAK,cAAc,OAAO;QAC1B,KAAK,cAAc,eAAe;QAClC,KAAK,cAAc,6BAA6B;QAChD,sCAAsC,cAAc,aAAa;QACjE,KAAK,cAAc,SAAS;QAC5B,KAAK,cAAc,sBAAsB;QACzC,KAAK,cAAc,sBAAsB;QACzC,KAAK,cAAc,wBAAwB;QAC3C,KAAK,cAAc,iBAAiB;QACpC,KAAK,cAAc,mBAAmB;QACtC,KAAK,cAAc,mDAAmD;QACtE,KAAK,cAAc,oBAAoB;KACxC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,cAAsB,EAAE,SAAwB,IAAI;IAClF,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;AACrF,CAAC"}
1
+ {"version":3,"file":"cli-usage.js","sourceRoot":"","sources":["../../src/cli/cli-usage.ts"],"names":[],"mappings":"AAEA,SAAS,YAAY,CAAC,cAAsB;IAC1C,OAAO;QACL,UAAU,cAAc,sBAAsB;QAC9C,EAAE;QACF,iBAAiB;QACjB,qEAAqE;QACrE,gFAAgF;QAChF,EAAE;QACF,kBAAkB;QAClB,4EAA4E;QAC5E,2FAA2F;QAC3F,iGAAiG;QACjG,+HAA+H;QAC/H,gGAAgG;QAChG,gGAAgG;QAChG,0FAA0F;QAC1F,8FAA8F;QAC9F,oFAAoF;QACpF,uFAAuF;QACvF,4GAA4G;QAC5G,uFAAuF;QACvF,EAAE;QACF,WAAW;QACX,KAAK,cAAc,UAAU;QAC7B,KAAK,cAAc,YAAY;QAC/B,KAAK,cAAc,OAAO;QAC1B,KAAK,cAAc,eAAe;QAClC,KAAK,cAAc,qCAAqC;QACxD,mCAAmC,cAAc,aAAa;QAC9D,KAAK,cAAc,SAAS;QAC5B,KAAK,cAAc,sBAAsB;QACzC,KAAK,cAAc,sBAAsB;QACzC,KAAK,cAAc,oBAAoB;QACvC,KAAK,cAAc,wBAAwB;QAC3C,KAAK,cAAc,iBAAiB;QACpC,KAAK,cAAc,mBAAmB;QACtC,KAAK,cAAc,mDAAmD;QACtE,KAAK,cAAc,oBAAoB;KACxC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED,SAAS,WAAW,CAAC,cAAsB;IACzC,OAAO;QACL,QAAQ,cAAc,eAAe;QACrC,EAAE;QACF,QAAQ;QACR,qDAAqD;QACrD,oEAAoE;QACpE,EAAE;QACF,QAAQ;QACR,gEAAgE;QAChE,6EAA6E;QAC7E,6EAA6E;QAC7E,8EAA8E;QAC9E,4EAA4E;QAC5E,sEAAsE;QACtE,gFAAgF;QAChF,+EAA+E;QAC/E,8DAA8D;QAC9D,2EAA2E;QAC3E,qFAAqF;QACrF,0EAA0E;QAC1E,EAAE;QACF,mCAAmC;QACnC,EAAE;QACF,KAAK;QACL,KAAK,cAAc,UAAU;QAC7B,KAAK,cAAc,YAAY;QAC/B,KAAK,cAAc,OAAO;QAC1B,KAAK,cAAc,eAAe;QAClC,KAAK,cAAc,6BAA6B;QAChD,sCAAsC,cAAc,aAAa;QACjE,KAAK,cAAc,SAAS;QAC5B,KAAK,cAAc,sBAAsB;QACzC,KAAK,cAAc,sBAAsB;QACzC,KAAK,cAAc,oBAAoB;QACvC,KAAK,cAAc,wBAAwB;QAC3C,KAAK,cAAc,iBAAiB;QACpC,KAAK,cAAc,mBAAmB;QACtC,KAAK,cAAc,mDAAmD;QACtE,KAAK,cAAc,oBAAoB;KACxC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,cAAsB,EAAE,SAAwB,IAAI;IAClF,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;AACrF,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { CliRunResult } from "./bearshell.js";
2
+ export type HostPluginCommandOptions = {
3
+ readonly packageRoot?: string;
4
+ };
5
+ export declare function runHostPluginCommand(args: readonly string[], options?: HostPluginCommandOptions, invocationName?: string): CliRunResult;
@@ -0,0 +1,32 @@
1
+ import process from "node:process";
2
+ import { HOST_PLUGIN_HOSTS, HostPluginDistributionError, hostPluginDistributionPath, } from "./host-plugin-distribution.js";
3
+ function hostPluginUsage(invocationName) {
4
+ return [
5
+ `Usage: ${invocationName} plugin path <codex|claude>`,
6
+ "",
7
+ "Print a verified, read-only installed plugin path. This command never registers a marketplace or edits host configuration.",
8
+ ].join("\n");
9
+ }
10
+ function parseHost(value) {
11
+ return HOST_PLUGIN_HOSTS.find((host) => host === value);
12
+ }
13
+ export function runHostPluginCommand(args, options = {}, invocationName = "ph") {
14
+ if (args.length === 1 && (args[0] === "--help" || args[0] === "-h" || args[0] === "help")) {
15
+ return { status: 0, stdout: `${hostPluginUsage(invocationName)}\n`, stderr: "" };
16
+ }
17
+ const host = parseHost(args[1]);
18
+ if (args.length !== 2 || args[0] !== "path" || host === undefined) {
19
+ return { status: 1, stdout: "", stderr: `${hostPluginUsage(invocationName)}\n` };
20
+ }
21
+ try {
22
+ const root = options.packageRoot ?? process.cwd();
23
+ return { status: 0, stdout: `${hostPluginDistributionPath(root, host)}\n`, stderr: "" };
24
+ }
25
+ catch (error) {
26
+ if (error instanceof HostPluginDistributionError) {
27
+ return { status: 1, stdout: "", stderr: `${error.code}\n` };
28
+ }
29
+ throw error;
30
+ }
31
+ }
32
+ //# sourceMappingURL=host-plugin-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-plugin-command.js","sourceRoot":"","sources":["../../src/cli/host-plugin-command.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAA;AAGlC,OAAO,EACL,iBAAiB,EACjB,2BAA2B,EAC3B,0BAA0B,GAE3B,MAAM,+BAA+B,CAAA;AAMtC,SAAS,eAAe,CAAC,cAAsB;IAC7C,OAAO;QACL,UAAU,cAAc,6BAA6B;QACrD,EAAE;QACF,4HAA4H;KAC7H,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED,SAAS,SAAS,CAAC,KAAyB;IAC1C,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,CAAA;AACzD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,IAAuB,EACvB,UAAoC,EAAE,EACtC,cAAc,GAAG,IAAI;IAErB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC;QAC1F,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;IAClF,CAAC;IACD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QAClE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;IAClF,CAAC;IACD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;QACjD,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,0BAA0B,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;IACzF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,2BAA2B,EAAE,CAAC;YACjD,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,CAAA;QAC7D,CAAC;QACD,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC"}
@@ -0,0 +1,21 @@
1
+ export declare const HOST_PLUGIN_HOSTS: readonly ["codex", "claude"];
2
+ export type HostPluginHost = typeof HOST_PLUGIN_HOSTS[number];
3
+ export type HostPluginDistributionTarget = {
4
+ readonly nextBytes: Buffer;
5
+ readonly relativePath: string;
6
+ };
7
+ export type HostPluginDistributionPaths = {
8
+ readonly claudePluginRoot: string;
9
+ readonly codexMarketplaceRoot: string;
10
+ };
11
+ export type HostPluginWriteOptions = {
12
+ readonly replace?: boolean;
13
+ };
14
+ export declare class HostPluginDistributionError extends Error {
15
+ readonly code: string;
16
+ constructor(code: string);
17
+ }
18
+ export declare function buildHostPluginDistributionTargets(packageRoot: string): readonly HostPluginDistributionTarget[];
19
+ export declare function verifyHostPluginDistribution(packageRoot: string): HostPluginDistributionPaths;
20
+ export declare function hostPluginDistributionPath(packageRoot: string, host: HostPluginHost): string;
21
+ export declare function writeHostPluginDistribution(packageRoot: string, options?: HostPluginWriteOptions): HostPluginDistributionPaths;
@@ -0,0 +1,309 @@
1
+ import { existsSync, lstatSync, mkdirSync, readdirSync, readFileSync, rmSync, writeFileSync, } from "node:fs";
2
+ import { dirname, join, relative, resolve, sep } from "node:path";
3
+ import { HOST_SKILL_LAYOUTS, buildHostSkillAdapterTargets, } from "./host-skill-materializer.js";
4
+ import { listPersonaSharedSkillsFromPackageRoot } from "../runtime/persona-shared-skill-catalog.js";
5
+ const PACKAGE_NAME = "persona-harness";
6
+ const HOST_PLUGIN_ROOT = "packages/host-plugins";
7
+ const REPOSITORY_URL = "https://github.com/jyt6640/persona-harness";
8
+ export const HOST_PLUGIN_HOSTS = ["codex", "claude"];
9
+ const HOST_PLUGIN_LAYOUTS = [
10
+ {
11
+ host: "codex",
12
+ sourceLayout: "agents",
13
+ skillRoot: "packages/host-plugins/codex/plugins/persona-harness/skills",
14
+ },
15
+ {
16
+ host: "claude",
17
+ sourceLayout: "claude",
18
+ skillRoot: "packages/host-plugins/claude/skills",
19
+ },
20
+ ];
21
+ export class HostPluginDistributionError extends Error {
22
+ code;
23
+ constructor(code) {
24
+ super(code);
25
+ this.code = code;
26
+ this.name = "HostPluginDistributionError";
27
+ }
28
+ }
29
+ function isRecord(value) {
30
+ return value !== null && typeof value === "object" && !Array.isArray(value);
31
+ }
32
+ function safeStat(path, code) {
33
+ try {
34
+ return lstatSync(path);
35
+ }
36
+ catch {
37
+ throw new HostPluginDistributionError(code);
38
+ }
39
+ }
40
+ function packageRootPath(packageRoot) {
41
+ const root = resolve(packageRoot);
42
+ const stat = safeStat(root, "host-plugin-distribution-package-root");
43
+ if (!stat.isDirectory() || stat.isSymbolicLink()) {
44
+ throw new HostPluginDistributionError("host-plugin-distribution-package-root");
45
+ }
46
+ return root;
47
+ }
48
+ function packagePath(root, relativePath) {
49
+ const path = resolve(root, relativePath);
50
+ const escaped = relative(root, path);
51
+ if (escaped === ".." || escaped.startsWith(`..${sep}`) || escaped.startsWith(sep)) {
52
+ throw new HostPluginDistributionError("host-plugin-distribution-path");
53
+ }
54
+ return path;
55
+ }
56
+ function assertNoFollowSegments(root, relativePath, allowMissing) {
57
+ let current = root;
58
+ for (const segment of relativePath.split("/")) {
59
+ current = join(current, segment);
60
+ if (!existsSync(current)) {
61
+ if (allowMissing)
62
+ return;
63
+ throw new HostPluginDistributionError("host-plugin-distribution-missing");
64
+ }
65
+ const stat = safeStat(current, "host-plugin-distribution-path");
66
+ if (stat.isSymbolicLink()) {
67
+ throw new HostPluginDistributionError("host-plugin-distribution-symlink");
68
+ }
69
+ }
70
+ }
71
+ function readPackageIdentity(root) {
72
+ const relativePath = "package.json";
73
+ assertNoFollowSegments(root, relativePath, false);
74
+ const path = packagePath(root, relativePath);
75
+ const stat = safeStat(path, "host-plugin-distribution-package");
76
+ if (!stat.isFile() || stat.isSymbolicLink()) {
77
+ throw new HostPluginDistributionError("host-plugin-distribution-package");
78
+ }
79
+ let parsed;
80
+ try {
81
+ parsed = JSON.parse(readFileSync(path, "utf8"));
82
+ }
83
+ catch {
84
+ throw new HostPluginDistributionError("host-plugin-distribution-package");
85
+ }
86
+ if (!isRecord(parsed) || parsed.name !== PACKAGE_NAME || typeof parsed.version !== "string" || !/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/u.test(parsed.version)) {
87
+ throw new HostPluginDistributionError("host-plugin-distribution-package");
88
+ }
89
+ return { name: PACKAGE_NAME, version: parsed.version };
90
+ }
91
+ function serializeJson(value) {
92
+ return Buffer.from(`${JSON.stringify(value, null, 2)}\n`, "utf8");
93
+ }
94
+ function hostAdapterBytes(packageRoot, skills, sourceLayout) {
95
+ const layout = HOST_SKILL_LAYOUTS.find((candidate) => candidate.id === sourceLayout);
96
+ if (layout === undefined)
97
+ throw new HostPluginDistributionError("host-plugin-distribution-layout");
98
+ const adapters = buildHostSkillAdapterTargets(packageRoot);
99
+ const bySkill = new Map();
100
+ for (const skill of skills) {
101
+ const expectedPath = `${layout.root}/${layout.namePrefix}-${skill.id}/SKILL.md`;
102
+ const adapter = adapters.find((candidate) => candidate.relativePath === expectedPath);
103
+ if (adapter === undefined || bySkill.has(skill.id)) {
104
+ throw new HostPluginDistributionError("host-plugin-distribution-canonical-binding");
105
+ }
106
+ bySkill.set(skill.id, adapter.nextBytes);
107
+ }
108
+ return bySkill;
109
+ }
110
+ function codexPluginManifest(identity) {
111
+ return serializeJson({
112
+ name: PACKAGE_NAME,
113
+ version: identity.version,
114
+ description: "Portable Persona Harness shared skills for Codex.",
115
+ author: {
116
+ name: "Persona Harness",
117
+ url: REPOSITORY_URL,
118
+ },
119
+ homepage: `${REPOSITORY_URL}#portable-host-adapters`,
120
+ repository: REPOSITORY_URL,
121
+ license: "Apache-2.0",
122
+ keywords: ["ai-coding", "codex", "persona-harness", "skills"],
123
+ skills: "./skills/",
124
+ interface: {
125
+ displayName: "Persona Harness",
126
+ shortDescription: "Portable engineering skills for Codex.",
127
+ longDescription: "A versioned, canonical Persona Harness skill catalog for Codex project workflows.",
128
+ developerName: "Persona Harness",
129
+ category: "Productivity",
130
+ capabilities: ["Skills"],
131
+ websiteURL: REPOSITORY_URL,
132
+ },
133
+ });
134
+ }
135
+ function codexMarketplaceManifest() {
136
+ return serializeJson({
137
+ name: PACKAGE_NAME,
138
+ interface: {
139
+ displayName: "Persona Harness",
140
+ },
141
+ plugins: [
142
+ {
143
+ name: PACKAGE_NAME,
144
+ source: {
145
+ source: "local",
146
+ path: "./plugins/persona-harness",
147
+ },
148
+ policy: {
149
+ installation: "AVAILABLE",
150
+ authentication: "ON_INSTALL",
151
+ },
152
+ category: "Productivity",
153
+ },
154
+ ],
155
+ });
156
+ }
157
+ function claudePluginManifest(identity) {
158
+ return serializeJson({
159
+ $schema: "https://json.schemastore.org/claude-code-plugin-manifest.json",
160
+ name: PACKAGE_NAME,
161
+ version: identity.version,
162
+ description: "Portable Persona Harness shared skills for Claude Code.",
163
+ author: {
164
+ name: "Persona Harness",
165
+ url: REPOSITORY_URL,
166
+ },
167
+ homepage: `${REPOSITORY_URL}#portable-host-adapters`,
168
+ repository: REPOSITORY_URL,
169
+ license: "Apache-2.0",
170
+ keywords: ["ai-coding", "claude-code", "persona-harness", "skills"],
171
+ });
172
+ }
173
+ function pluginManifestPath(host) {
174
+ return host === "codex"
175
+ ? "packages/host-plugins/codex/plugins/persona-harness/.codex-plugin/plugin.json"
176
+ : "packages/host-plugins/claude/.claude-plugin/plugin.json";
177
+ }
178
+ function pluginSkillPath(layout, skill) {
179
+ return `${layout.skillRoot}/${skill.id}/SKILL.md`;
180
+ }
181
+ export function buildHostPluginDistributionTargets(packageRoot) {
182
+ const root = packageRootPath(packageRoot);
183
+ const identity = readPackageIdentity(root);
184
+ let skills;
185
+ try {
186
+ skills = listPersonaSharedSkillsFromPackageRoot(root);
187
+ }
188
+ catch {
189
+ throw new HostPluginDistributionError("host-plugin-distribution-catalog");
190
+ }
191
+ const uniqueSkills = new Set(skills.map((skill) => skill.id));
192
+ if (uniqueSkills.size !== skills.length || skills.length === 0) {
193
+ throw new HostPluginDistributionError("host-plugin-distribution-catalog");
194
+ }
195
+ const targets = [
196
+ {
197
+ relativePath: "packages/host-plugins/codex/.agents/plugins/marketplace.json",
198
+ nextBytes: codexMarketplaceManifest(),
199
+ },
200
+ {
201
+ relativePath: pluginManifestPath("codex"),
202
+ nextBytes: codexPluginManifest(identity),
203
+ },
204
+ {
205
+ relativePath: pluginManifestPath("claude"),
206
+ nextBytes: claudePluginManifest(identity),
207
+ },
208
+ ];
209
+ for (const layout of HOST_PLUGIN_LAYOUTS) {
210
+ const adapters = hostAdapterBytes(root, skills, layout.sourceLayout);
211
+ for (const skill of skills) {
212
+ const adapter = adapters.get(skill.id);
213
+ if (adapter === undefined) {
214
+ throw new HostPluginDistributionError("host-plugin-distribution-canonical-binding");
215
+ }
216
+ targets.push({ relativePath: pluginSkillPath(layout, skill), nextBytes: adapter });
217
+ }
218
+ }
219
+ const paths = new Set();
220
+ for (const target of targets) {
221
+ if (!target.relativePath.startsWith(`${HOST_PLUGIN_ROOT}/`) || paths.has(target.relativePath)) {
222
+ throw new HostPluginDistributionError("host-plugin-distribution-targets");
223
+ }
224
+ paths.add(target.relativePath);
225
+ }
226
+ return targets.sort((left, right) => left.relativePath.localeCompare(right.relativePath));
227
+ }
228
+ function listArtifactFiles(root, current = root) {
229
+ const entries = readdirSync(current, { withFileTypes: true }).sort((left, right) => left.name.localeCompare(right.name));
230
+ const files = [];
231
+ for (const entry of entries) {
232
+ const path = join(current, entry.name);
233
+ const stat = safeStat(path, "host-plugin-distribution-artifact");
234
+ if (stat.isSymbolicLink()) {
235
+ throw new HostPluginDistributionError("host-plugin-distribution-symlink");
236
+ }
237
+ if (stat.isDirectory()) {
238
+ files.push(...listArtifactFiles(root, path));
239
+ continue;
240
+ }
241
+ if (!stat.isFile()) {
242
+ throw new HostPluginDistributionError("host-plugin-distribution-artifact");
243
+ }
244
+ files.push(relative(root, path).replace(/\\/g, "/"));
245
+ }
246
+ return files;
247
+ }
248
+ function assertExactArtifactTree(root, targets) {
249
+ const artifactRoot = packagePath(root, HOST_PLUGIN_ROOT);
250
+ assertNoFollowSegments(root, HOST_PLUGIN_ROOT, false);
251
+ const rootStat = safeStat(artifactRoot, "host-plugin-distribution-missing");
252
+ if (!rootStat.isDirectory() || rootStat.isSymbolicLink()) {
253
+ throw new HostPluginDistributionError("host-plugin-distribution-missing");
254
+ }
255
+ const actual = new Set(listArtifactFiles(artifactRoot));
256
+ const expected = new Set(targets.map((target) => target.relativePath.slice(`${HOST_PLUGIN_ROOT}/`.length)));
257
+ if (actual.size !== expected.size || [...actual].some((path) => !expected.has(path))) {
258
+ throw new HostPluginDistributionError("host-plugin-distribution-artifact-set");
259
+ }
260
+ for (const target of targets) {
261
+ assertNoFollowSegments(root, target.relativePath, false);
262
+ const path = packagePath(root, target.relativePath);
263
+ const stat = safeStat(path, "host-plugin-distribution-missing");
264
+ if (!stat.isFile() || stat.isSymbolicLink() || !readFileSync(path).equals(target.nextBytes)) {
265
+ throw new HostPluginDistributionError("host-plugin-distribution-artifact");
266
+ }
267
+ }
268
+ }
269
+ function distributionPaths(root) {
270
+ return {
271
+ claudePluginRoot: packagePath(root, "packages/host-plugins/claude"),
272
+ codexMarketplaceRoot: packagePath(root, "packages/host-plugins/codex"),
273
+ };
274
+ }
275
+ export function verifyHostPluginDistribution(packageRoot) {
276
+ const root = packageRootPath(packageRoot);
277
+ assertExactArtifactTree(root, buildHostPluginDistributionTargets(root));
278
+ return distributionPaths(root);
279
+ }
280
+ export function hostPluginDistributionPath(packageRoot, host) {
281
+ const paths = verifyHostPluginDistribution(packageRoot);
282
+ return host === "codex" ? paths.codexMarketplaceRoot : paths.claudePluginRoot;
283
+ }
284
+ export function writeHostPluginDistribution(packageRoot, options = {}) {
285
+ const root = packageRootPath(packageRoot);
286
+ const targets = buildHostPluginDistributionTargets(root);
287
+ const artifactRoot = packagePath(root, HOST_PLUGIN_ROOT);
288
+ if (existsSync(artifactRoot)) {
289
+ if (options.replace !== true) {
290
+ return verifyHostPluginDistribution(root);
291
+ }
292
+ assertNoFollowSegments(root, HOST_PLUGIN_ROOT, false);
293
+ const stat = safeStat(artifactRoot, "host-plugin-distribution-artifact");
294
+ if (!stat.isDirectory() || stat.isSymbolicLink()) {
295
+ throw new HostPluginDistributionError("host-plugin-distribution-artifact");
296
+ }
297
+ rmSync(artifactRoot, { force: true, recursive: true });
298
+ }
299
+ else {
300
+ assertNoFollowSegments(root, "packages", false);
301
+ }
302
+ for (const target of targets) {
303
+ const path = packagePath(root, target.relativePath);
304
+ mkdirSync(dirname(path), { recursive: true });
305
+ writeFileSync(path, target.nextBytes, { mode: 0o644 });
306
+ }
307
+ return verifyHostPluginDistribution(root);
308
+ }
309
+ //# sourceMappingURL=host-plugin-distribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-plugin-distribution.js","sourceRoot":"","sources":["../../src/cli/host-plugin-distribution.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -29,6 +29,7 @@ import { runPhilosophyCommand } from "./philosophy-command.js";
29
29
  import { runReviewCommand } from "./review.js";
30
30
  import { runSmokeCommand } from "./smoke.js";
31
31
  import { runProjectAutoUpdateCommand } from "./project-auto-update.js";
32
+ import { runHostPluginCommand } from "./host-plugin-command.js";
32
33
  import { decodeCliStdinText, readBoundedCliStdinText } from "./stdin-text.js";
33
34
  import { MAX_SUBMITTED_REPORT_BYTES, workflowReportStdinLimitMessage } from "./report-status.js";
34
35
  import { personaHarnessVersion } from "./version.js";
@@ -136,6 +137,9 @@ export function runPersonaCli(args, options = {}) {
136
137
  projectDir: options.cwd,
137
138
  }, invocationName);
138
139
  }
140
+ if (command === "plugin") {
141
+ return runHostPluginCommand(args.slice(1), { packageRoot: options.packageRoot }, invocationName);
142
+ }
139
143
  if (command === "authority") {
140
144
  return runAuthorityCommand(args.slice(1), {
141
145
  githubToken: selectAuthorityGithubToken(options.env ?? process.env),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,OAAO,MAAM,cAAc,CAAA;AAClC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AACrD,OAAO,EAAqB,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAsB,MAAM,aAAa,CAAA;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,YAAY,EAAe,MAAM,iBAAiB,CAAA;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAA;AACtE,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAC7E,OAAO,EAAE,0BAA0B,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAA;AAChG,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAA;AAE5G,MAAM,mCAAmC,GAAG,MAAM,CAAA;AAwBlD,MAAM,UAAU,aAAa,CAAC,IAAuB,EAAE,UAA6B,EAAE;IACpF,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IACvB,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,CAAA;IAErD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACzE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,qBAAqB,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;IAC1E,CAAC;IAED,IACE,yBAAyB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW;WACpE,OAAO,KAAK,SAAS;WACrB,OAAO,KAAK,MAAM;WAClB,OAAO,KAAK,QAAQ;WACpB,OAAO,KAAK,IAAI;WAChB,OAAO,KAAK,QAAQ,EACvB,CAAC;QACD,OAAO;YACL,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,8DAA8D,0BAA0B,6CAA6C;SAC9I,CAAA;IACH,CAAC;IAED,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;YACnE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;QAC5E,CAAC;QACD,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACnC,iBAAiB,EAAE,OAAO,CAAC,qBAAqB;YAChD,cAAc,EAAE,OAAO,CAAC,kBAAkB;YAC1C,UAAU,EAAE,OAAO,CAAC,GAAG;YACvB,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,YAAY,CACjB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EACb;YACE,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,wBAAwB,EAAE,OAAO,CAAC,wBAAwB;YAC1D,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;YACxD,0BAA0B,EAAE,OAAO,CAAC,0BAA0B;YAC9D,UAAU,EAAE,OAAO,CAAC,GAAG;YACvB,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,EACD,cAAc,CACf,CAAA;IACH,CAAC;IAED,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,gBAAgB,CACrB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EACb;YACE,iBAAiB,EAAE,OAAO,CAAC,uBAAuB;YAClD,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,UAAU,EAAE,OAAO,CAAC,GAAG;SACxB,EACD,cAAc,CACf,CAAA;IACH,CAAC;IAED,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,OAAO,mBAAmB,CACxB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EACb,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,EAC/E,cAAc,CACf,CAAA;IACH,CAAC;IAED,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAA;IACrF,CAAC;IAED,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;QAC/B,OAAO,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAA;IAC3F,CAAC;IAED,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,cAAc,CAAC,CAAA;IACzG,CAAC;IAED,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAA;IACrF,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAA;IACtF,CAAC;IAED,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3B,OAAO,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAA;IAC1D,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAA;IACtF,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE;YACtD,eAAe,EAAE;gBACf,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,OAAO,EAAE,OAAO,CAAC,sBAAsB;gBACvC,QAAQ,EAAE,OAAO,CAAC,uBAAuB;gBACzC,SAAS,EAAE,OAAO,CAAC,wBAAwB;aAC5C;YACD,UAAU,EAAE,OAAO,CAAC,GAAG;SACxB,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IAC5E,CAAC;IAED,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3B,OAAO,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,cAAc,CAAC,CAAA;IAC7G,CAAC;IAED,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACrC,UAAU,EAAE,OAAO,CAAC,GAAG;YACvB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,sBAAsB,EAAE,OAAO,CAAC,4BAA4B;SAC7D,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YAChD,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,UAAU,EAAE,OAAO,CAAC,GAAG;SACxB,EAAE,cAAc,CAAC,CAAA;IACpB,CAAC;IAED,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,OAAO,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACxC,WAAW,EAAE,0BAA0B,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;YACnE,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,UAAU,EAAE,OAAO,CAAC,GAAG;SACxB,EAAE,cAAc,CAAC,CAAA;IACpB,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACtB,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAA;IACpG,CAAC;IAED,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3B,OAAO,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAA;IACzG,CAAC;IAED,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAA;IACpF,CAAC;IAED,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3B,OAAO,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAA;IACzG,CAAC;IAED,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;QAC7B,OAAO,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACzC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,OAAO,EAAE,OAAO,CAAC,sBAAsB;YACvC,SAAS,EAAE,OAAO,CAAC,wBAAwB;YAC3C,GAAG,EAAE,OAAO,CAAC,kBAAkB;YAC/B,QAAQ,EAAE,OAAO,CAAC,uBAAuB;YACzC,UAAU,EAAE,OAAO,CAAC,GAAG;YACvB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,SAAS,EAAE,OAAO,CAAC,wBAAwB;SAC5C,EAAE,cAAc,CAAC,CAAA;IACpB,CAAC;IAED,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAA;IACrF,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QAC5F,MAAM,aAAa,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAA;QAClD,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,OAAO,OAAO,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;QAC9G,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;IACxG,CAAC;IAED,OAAO;QACL,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,oBAAoB,OAAO,OAAO,eAAe,CAAC,cAAc,CAAC,IAAI;KAC9E,CAAA;AACH,CAAC;AAED,SAAS,WAAW,CAAC,MAAoB;IACvC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACrC,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACrC,CAAC;IACD,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAA;AAClC,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAClC,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAA;IAC/F,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IAE7E,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QACvB,WAAW,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC,CAAA;QACvG,OAAM;IACR,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;QAClF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAC9C,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EACb;gBACE,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE;gBACzB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI;gBACnC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE;oBACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBAC5B,CAAC;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;aAChD,EACD,cAAc,CACf,CAAA;YACD,WAAW,CAAC,MAAM,CAAC,CAAA;QACrB,CAAC;gBAAS,CAAC;YACT,QAAQ,CAAC,KAAK,EAAE,CAAA;QAClB,CAAC;QACD,OAAM;IACR,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACpF,MAAM,WAAW,GAAG,0BAA0B,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC3D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBAC7C,WAAW;gBACX,WAAW;gBACX,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE;aAC1B,EAAE,cAAc,CAAC,CAAC,CAAA;YACnB,OAAM;QACR,CAAC;QACD,MAAM,QAAQ,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;QAClF,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,sDAAsD,CAAC,CAAA;YACpG,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBAC7C,iBAAiB,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,GAAG;gBAC5D,WAAW;gBACX,WAAW;gBACX,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE;aAC1B,EAAE,cAAc,CAAC,CAAC,CAAA;QACrB,CAAC;gBAAS,CAAC;YACT,QAAQ,CAAC,KAAK,EAAE,CAAA;QAClB,CAAC;QACD,OAAM;IACR,CAAC;IAED,WAAW,CACT,aAAa,CAAC,IAAI,EAAE;QAClB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,cAAc;QACd,WAAW;QACX,KAAK,EAAE,MAAM,QAAQ,CAAC,IAAI,CAAC;KAC5B,CAAC,CACH,CAAA;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAuB;IAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,CAAA;IAC9E,MAAM,SAAS,GACb,IAAI,CAAC,MAAM,KAAK,CAAC;WACd,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM;WAClB,IAAI,CAAC,CAAC,CAAC,KAAK,iBAAiB;WAC7B,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;WACtD,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,CAAA;IAC1B,MAAM,aAAa,GACjB,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU;WACnB,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;WAC9C,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,CAAA;IAC1B,MAAM,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY;WAC3C,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;WAC/C,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;IAC7B,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,aAAa,IAAI,CAAC,eAAe,EAAE,CAAC;QACjE,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACjC,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAAA;QACtF,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,+BAA+B,EAAE,CAAC,CAAA;QACpD,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAA;IACnB,CAAC;IACD,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,KAAK,EAAE,mCAAmC,CAAC,CAAA;QAC/F,OAAO,KAAK,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;IAC1D,CAAC;IACD,OAAO,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;AAC5C,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,aAAiC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAChD,aAAqB,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;IAEnD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,UAAU,CAAC,KAAK,YAAY,CAAC,UAAU,CAAC,CAAA;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,IAAI,eAAe,EAAE,EAAE,CAAC;IACtB,gBAAgB,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QAC1C,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,IAAI,CAAC,CAAA;YAC1C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;YACpB,OAAM;QACR,CAAC;QACD,MAAM,KAAK,CAAA;IACb,CAAC,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -231,7 +231,8 @@ default-on OpenCode advisory route and never enables that broader context path.
231
231
 
232
232
  ## Package Boundary
233
233
 
234
- The root tarball includes the catalog, each cataloged `SKILL.md`, and the
234
+ The root tarball includes the catalog, each cataloged `SKILL.md`, the generated
235
+ Codex marketplace/plugin tree, the generated Claude Code plugin tree, and the
235
236
  package-internal shared-skills README. The only packaged language overlay is
236
237
  the Java reference directory. Legacy OMO orchestration material and legacy
237
238
  `skills/workflow/**` payloads are nonoperative and excluded from the tarball.
@@ -45,6 +45,38 @@ command, or start a workflow. Only a later explicit acceptance may authorize
45
45
  the existing `npx ph init` command. It still does not imply `bootstrap`,
46
46
  `attach`, workflow, Git, or network work.
47
47
 
48
+ ## Install Packaged Host Plugins
49
+
50
+ The npm package also includes immutable, versioned plugin artifacts for Codex
51
+ and Claude Code. This is useful when a user wants the canonical catalog as a
52
+ host plugin rather than as project-local adapters produced by `ph init`.
53
+
54
+ `ph plugin path` is read-only: it verifies the installed artifact tree against
55
+ the catalog before printing a path. It never adds a marketplace, enables a
56
+ plugin, or changes any host configuration.
57
+
58
+ For Codex, explicitly register the package-local marketplace and then add the
59
+ plugin through the normal Codex plugin commands:
60
+
61
+ ```bash
62
+ codex plugin marketplace add "$(npx ph plugin path codex)"
63
+ codex plugin add persona-harness@persona-harness
64
+ ```
65
+
66
+ For Claude Code, validate the same packaged directory locally, then load it for
67
+ the session using Claude Code's supported plugin-directory flag:
68
+
69
+ ```bash
70
+ claude plugin validate "$(npx ph plugin path claude)"
71
+ claude --plugin-dir "$(npx ph plugin path claude)"
72
+ ```
73
+
74
+ Those host commands are intentionally user actions. They may create or update
75
+ host-owned marketplace or plugin state, so Persona Harness never invokes them
76
+ by inference. Marketplace publication, public-directory acceptance, and live
77
+ host skill selection are separate host-governed observations and are not
78
+ claimed by successful static validation.
79
+
48
80
  ## What Is Shared
49
81
 
50
82
  Every generated adapter points to the same Persona-owned catalog. Its
@@ -94,6 +126,12 @@ The existing optional OpenCode plugin registration remains separate from static
94
126
  adapter materialization. It may expose OpenCode-specific advisory behavior, but
95
127
  it does not change other hosts' semantics.
96
128
 
129
+ OpenCode continues to use its documented npm-plugin configuration and the
130
+ project-local `.opencode/skills` adapter that `ph init` manages. Its existing
131
+ plugin array and host skill settings are preserved; `ph init` adds the
132
+ versioned Persona package entry once and never registers a second shared-skill
133
+ identity.
134
+
97
135
  ## Context And Runtime Boundary
98
136
 
99
137
  `context.enabled` is explicit and default-off. Static portable adapters do not
@@ -25,7 +25,7 @@
25
25
  "package": {
26
26
  "channel": "unpublished",
27
27
  "scope": "source-candidate",
28
- "version": "0.10.0"
28
+ "version": "0.11.0"
29
29
  },
30
30
  "currentSourceCandidate": {
31
31
  "registryInstall": "requires-authorized-release-before-registry-install",