@hiai-gg/hiai-opencode 0.1.2 → 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.
Files changed (58) hide show
  1. package/.env.example +28 -21
  2. package/AGENTS.md +183 -28
  3. package/ARCHITECTURE.md +17 -20
  4. package/LICENSE.md +1 -0
  5. package/README.md +269 -66
  6. package/assets/cli/hiai-opencode.mjs +276 -0
  7. package/assets/mcp/mempalace.mjs +47 -4
  8. package/assets/mcp/playwright.mjs +83 -0
  9. package/config/hiai-opencode.schema.json +113 -1
  10. package/dist/config/index.d.ts +0 -1
  11. package/dist/config/platform-schema.d.ts +72 -0
  12. package/dist/config/schema/agent-overrides.d.ts +256 -0
  13. package/dist/config/schema/categories.d.ts +2 -2
  14. package/dist/config/schema/commands.d.ts +1 -0
  15. package/dist/config/schema/index.d.ts +2 -0
  16. package/dist/config/schema/oh-my-opencode-config.d.ts +267 -0
  17. package/dist/config/schema/skill-discovery.d.ts +11 -0
  18. package/dist/config/types.d.ts +12 -1
  19. package/dist/features/builtin-commands/templates/mcp-status.d.ts +1 -0
  20. package/dist/features/builtin-commands/types.d.ts +1 -1
  21. package/dist/features/opencode-skill-loader/loader.d.ts +2 -0
  22. package/dist/index.js +617 -421
  23. package/dist/mcp/registry.d.ts +14 -0
  24. package/dist/mcp/types.d.ts +6 -0
  25. package/dist/plugin/skill-discovery-config.d.ts +4 -0
  26. package/dist/shared/startup-diagnostics.d.ts +6 -0
  27. package/hiai-opencode.json +192 -36
  28. package/package.json +4 -1
  29. package/src/agents/AGENTS.md +3 -4
  30. package/src/config/defaults.ts +55 -133
  31. package/src/config/index.ts +0 -1
  32. package/src/config/loader.ts +4 -1
  33. package/src/config/platform-schema.ts +18 -2
  34. package/src/config/schema/agent-overrides.ts +2 -0
  35. package/src/config/schema/commands.ts +1 -0
  36. package/src/config/schema/fast-apply.ts +4 -4
  37. package/src/config/schema/index.ts +2 -0
  38. package/src/config/schema/oh-my-opencode-config.ts +3 -0
  39. package/src/config/schema/skill-discovery.ts +25 -0
  40. package/src/config/types.ts +16 -0
  41. package/src/features/builtin-commands/commands.ts +7 -0
  42. package/src/features/builtin-commands/templates/mcp-status.ts +36 -0
  43. package/src/features/builtin-commands/types.ts +1 -1
  44. package/src/features/builtin-skills/skills/playwright.ts +24 -2
  45. package/src/features/opencode-skill-loader/loader.ts +11 -0
  46. package/src/index.ts +15 -13
  47. package/src/mcp/index.ts +0 -33
  48. package/src/mcp/omo-mcp-index.ts +0 -5
  49. package/src/mcp/registry.ts +132 -0
  50. package/src/mcp/types.ts +11 -1
  51. package/src/plugin/hooks/create-tool-guard-hooks.ts +1 -1
  52. package/src/plugin/skill-context.ts +31 -13
  53. package/src/plugin/skill-discovery-config.ts +32 -0
  54. package/src/plugin-handlers/agent-config-handler.ts +20 -13
  55. package/src/plugin-handlers/command-config-handler.ts +22 -12
  56. package/src/shared/migration/agent-names.ts +5 -5
  57. package/src/shared/startup-diagnostics.ts +77 -0
  58. package/src/config/models.ts +0 -32
@@ -25,6 +25,7 @@ export declare const HiaiOpenCodeConfigSchema: z.ZodObject<{
25
25
  "start-work": "start-work";
26
26
  "stop-continuation": "stop-continuation";
27
27
  "remove-ai-slops": "remove-ai-slops";
28
+ "mcp-status": "mcp-status";
28
29
  }>>>;
29
30
  disabled_tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
30
31
  mcp_env_allowlist: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -2464,6 +2465,262 @@ export declare const HiaiOpenCodeConfigSchema: z.ZodObject<{
2464
2465
  variant: z.ZodOptional<z.ZodString>;
2465
2466
  }, z.core.$strip>>;
2466
2467
  }, z.core.$strip>>;
2468
+ manager: z.ZodOptional<z.ZodObject<{
2469
+ model: z.ZodOptional<z.ZodString>;
2470
+ fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
2471
+ model: z.ZodString;
2472
+ variant: z.ZodOptional<z.ZodString>;
2473
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
2474
+ none: "none";
2475
+ minimal: "minimal";
2476
+ low: "low";
2477
+ medium: "medium";
2478
+ high: "high";
2479
+ xhigh: "xhigh";
2480
+ }>>;
2481
+ temperature: z.ZodOptional<z.ZodNumber>;
2482
+ top_p: z.ZodOptional<z.ZodNumber>;
2483
+ maxTokens: z.ZodOptional<z.ZodNumber>;
2484
+ thinking: z.ZodOptional<z.ZodObject<{
2485
+ type: z.ZodEnum<{
2486
+ enabled: "enabled";
2487
+ disabled: "disabled";
2488
+ }>;
2489
+ budgetTokens: z.ZodOptional<z.ZodNumber>;
2490
+ }, z.core.$strip>>;
2491
+ }, z.core.$strip>>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
2492
+ model: z.ZodString;
2493
+ variant: z.ZodOptional<z.ZodString>;
2494
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
2495
+ none: "none";
2496
+ minimal: "minimal";
2497
+ low: "low";
2498
+ medium: "medium";
2499
+ high: "high";
2500
+ xhigh: "xhigh";
2501
+ }>>;
2502
+ temperature: z.ZodOptional<z.ZodNumber>;
2503
+ top_p: z.ZodOptional<z.ZodNumber>;
2504
+ maxTokens: z.ZodOptional<z.ZodNumber>;
2505
+ thinking: z.ZodOptional<z.ZodObject<{
2506
+ type: z.ZodEnum<{
2507
+ enabled: "enabled";
2508
+ disabled: "disabled";
2509
+ }>;
2510
+ budgetTokens: z.ZodOptional<z.ZodNumber>;
2511
+ }, z.core.$strip>>;
2512
+ }, z.core.$strip>]>>]>>;
2513
+ variant: z.ZodOptional<z.ZodString>;
2514
+ category: z.ZodOptional<z.ZodString>;
2515
+ skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
2516
+ temperature: z.ZodOptional<z.ZodNumber>;
2517
+ top_p: z.ZodOptional<z.ZodNumber>;
2518
+ prompt: z.ZodOptional<z.ZodString>;
2519
+ prompt_append: z.ZodOptional<z.ZodString>;
2520
+ tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
2521
+ disable: z.ZodOptional<z.ZodBoolean>;
2522
+ description: z.ZodOptional<z.ZodString>;
2523
+ mode: z.ZodOptional<z.ZodEnum<{
2524
+ primary: "primary";
2525
+ subagent: "subagent";
2526
+ all: "all";
2527
+ }>>;
2528
+ color: z.ZodOptional<z.ZodString>;
2529
+ permission: z.ZodOptional<z.ZodObject<{
2530
+ edit: z.ZodOptional<z.ZodEnum<{
2531
+ allow: "allow";
2532
+ deny: "deny";
2533
+ ask: "ask";
2534
+ }>>;
2535
+ bash: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
2536
+ allow: "allow";
2537
+ deny: "deny";
2538
+ ask: "ask";
2539
+ }>, z.ZodRecord<z.ZodString, z.ZodEnum<{
2540
+ allow: "allow";
2541
+ deny: "deny";
2542
+ ask: "ask";
2543
+ }>>]>>;
2544
+ webfetch: z.ZodOptional<z.ZodEnum<{
2545
+ allow: "allow";
2546
+ deny: "deny";
2547
+ ask: "ask";
2548
+ }>>;
2549
+ task: z.ZodOptional<z.ZodEnum<{
2550
+ allow: "allow";
2551
+ deny: "deny";
2552
+ ask: "ask";
2553
+ }>>;
2554
+ doom_loop: z.ZodOptional<z.ZodEnum<{
2555
+ allow: "allow";
2556
+ deny: "deny";
2557
+ ask: "ask";
2558
+ }>>;
2559
+ external_directory: z.ZodOptional<z.ZodEnum<{
2560
+ allow: "allow";
2561
+ deny: "deny";
2562
+ ask: "ask";
2563
+ }>>;
2564
+ }, z.core.$strip>>;
2565
+ maxTokens: z.ZodOptional<z.ZodNumber>;
2566
+ thinking: z.ZodOptional<z.ZodObject<{
2567
+ type: z.ZodEnum<{
2568
+ enabled: "enabled";
2569
+ disabled: "disabled";
2570
+ }>;
2571
+ budgetTokens: z.ZodOptional<z.ZodNumber>;
2572
+ }, z.core.$strip>>;
2573
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
2574
+ none: "none";
2575
+ minimal: "minimal";
2576
+ low: "low";
2577
+ medium: "medium";
2578
+ high: "high";
2579
+ xhigh: "xhigh";
2580
+ }>>;
2581
+ textVerbosity: z.ZodOptional<z.ZodEnum<{
2582
+ low: "low";
2583
+ medium: "medium";
2584
+ high: "high";
2585
+ }>>;
2586
+ providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2587
+ ultrawork: z.ZodOptional<z.ZodObject<{
2588
+ model: z.ZodOptional<z.ZodString>;
2589
+ variant: z.ZodOptional<z.ZodString>;
2590
+ }, z.core.$strip>>;
2591
+ compaction: z.ZodOptional<z.ZodObject<{
2592
+ model: z.ZodOptional<z.ZodString>;
2593
+ variant: z.ZodOptional<z.ZodString>;
2594
+ }, z.core.$strip>>;
2595
+ }, z.core.$strip>>;
2596
+ vision: z.ZodOptional<z.ZodObject<{
2597
+ model: z.ZodOptional<z.ZodString>;
2598
+ fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
2599
+ model: z.ZodString;
2600
+ variant: z.ZodOptional<z.ZodString>;
2601
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
2602
+ none: "none";
2603
+ minimal: "minimal";
2604
+ low: "low";
2605
+ medium: "medium";
2606
+ high: "high";
2607
+ xhigh: "xhigh";
2608
+ }>>;
2609
+ temperature: z.ZodOptional<z.ZodNumber>;
2610
+ top_p: z.ZodOptional<z.ZodNumber>;
2611
+ maxTokens: z.ZodOptional<z.ZodNumber>;
2612
+ thinking: z.ZodOptional<z.ZodObject<{
2613
+ type: z.ZodEnum<{
2614
+ enabled: "enabled";
2615
+ disabled: "disabled";
2616
+ }>;
2617
+ budgetTokens: z.ZodOptional<z.ZodNumber>;
2618
+ }, z.core.$strip>>;
2619
+ }, z.core.$strip>>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
2620
+ model: z.ZodString;
2621
+ variant: z.ZodOptional<z.ZodString>;
2622
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
2623
+ none: "none";
2624
+ minimal: "minimal";
2625
+ low: "low";
2626
+ medium: "medium";
2627
+ high: "high";
2628
+ xhigh: "xhigh";
2629
+ }>>;
2630
+ temperature: z.ZodOptional<z.ZodNumber>;
2631
+ top_p: z.ZodOptional<z.ZodNumber>;
2632
+ maxTokens: z.ZodOptional<z.ZodNumber>;
2633
+ thinking: z.ZodOptional<z.ZodObject<{
2634
+ type: z.ZodEnum<{
2635
+ enabled: "enabled";
2636
+ disabled: "disabled";
2637
+ }>;
2638
+ budgetTokens: z.ZodOptional<z.ZodNumber>;
2639
+ }, z.core.$strip>>;
2640
+ }, z.core.$strip>]>>]>>;
2641
+ variant: z.ZodOptional<z.ZodString>;
2642
+ category: z.ZodOptional<z.ZodString>;
2643
+ skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
2644
+ temperature: z.ZodOptional<z.ZodNumber>;
2645
+ top_p: z.ZodOptional<z.ZodNumber>;
2646
+ prompt: z.ZodOptional<z.ZodString>;
2647
+ prompt_append: z.ZodOptional<z.ZodString>;
2648
+ tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
2649
+ disable: z.ZodOptional<z.ZodBoolean>;
2650
+ description: z.ZodOptional<z.ZodString>;
2651
+ mode: z.ZodOptional<z.ZodEnum<{
2652
+ primary: "primary";
2653
+ subagent: "subagent";
2654
+ all: "all";
2655
+ }>>;
2656
+ color: z.ZodOptional<z.ZodString>;
2657
+ permission: z.ZodOptional<z.ZodObject<{
2658
+ edit: z.ZodOptional<z.ZodEnum<{
2659
+ allow: "allow";
2660
+ deny: "deny";
2661
+ ask: "ask";
2662
+ }>>;
2663
+ bash: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
2664
+ allow: "allow";
2665
+ deny: "deny";
2666
+ ask: "ask";
2667
+ }>, z.ZodRecord<z.ZodString, z.ZodEnum<{
2668
+ allow: "allow";
2669
+ deny: "deny";
2670
+ ask: "ask";
2671
+ }>>]>>;
2672
+ webfetch: z.ZodOptional<z.ZodEnum<{
2673
+ allow: "allow";
2674
+ deny: "deny";
2675
+ ask: "ask";
2676
+ }>>;
2677
+ task: z.ZodOptional<z.ZodEnum<{
2678
+ allow: "allow";
2679
+ deny: "deny";
2680
+ ask: "ask";
2681
+ }>>;
2682
+ doom_loop: z.ZodOptional<z.ZodEnum<{
2683
+ allow: "allow";
2684
+ deny: "deny";
2685
+ ask: "ask";
2686
+ }>>;
2687
+ external_directory: z.ZodOptional<z.ZodEnum<{
2688
+ allow: "allow";
2689
+ deny: "deny";
2690
+ ask: "ask";
2691
+ }>>;
2692
+ }, z.core.$strip>>;
2693
+ maxTokens: z.ZodOptional<z.ZodNumber>;
2694
+ thinking: z.ZodOptional<z.ZodObject<{
2695
+ type: z.ZodEnum<{
2696
+ enabled: "enabled";
2697
+ disabled: "disabled";
2698
+ }>;
2699
+ budgetTokens: z.ZodOptional<z.ZodNumber>;
2700
+ }, z.core.$strip>>;
2701
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
2702
+ none: "none";
2703
+ minimal: "minimal";
2704
+ low: "low";
2705
+ medium: "medium";
2706
+ high: "high";
2707
+ xhigh: "xhigh";
2708
+ }>>;
2709
+ textVerbosity: z.ZodOptional<z.ZodEnum<{
2710
+ low: "low";
2711
+ medium: "medium";
2712
+ high: "high";
2713
+ }>>;
2714
+ providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2715
+ ultrawork: z.ZodOptional<z.ZodObject<{
2716
+ model: z.ZodOptional<z.ZodString>;
2717
+ variant: z.ZodOptional<z.ZodString>;
2718
+ }, z.core.$strip>>;
2719
+ compaction: z.ZodOptional<z.ZodObject<{
2720
+ model: z.ZodOptional<z.ZodString>;
2721
+ variant: z.ZodOptional<z.ZodString>;
2722
+ }, z.core.$strip>>;
2723
+ }, z.core.$strip>>;
2467
2724
  logician: z.ZodOptional<z.ZodObject<{
2468
2725
  model: z.ZodOptional<z.ZodString>;
2469
2726
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
@@ -3902,6 +4159,15 @@ export declare const HiaiOpenCodeConfigSchema: z.ZodObject<{
3902
4159
  "allowed-tools": z.ZodOptional<z.ZodArray<z.ZodString>>;
3903
4160
  disable: z.ZodOptional<z.ZodBoolean>;
3904
4161
  }, z.core.$strip>]>>>]>>;
4162
+ skill_discovery: z.ZodOptional<z.ZodObject<{
4163
+ config_sources: z.ZodDefault<z.ZodBoolean>;
4164
+ project_opencode: z.ZodDefault<z.ZodBoolean>;
4165
+ global_opencode: z.ZodDefault<z.ZodBoolean>;
4166
+ project_claude: z.ZodDefault<z.ZodBoolean>;
4167
+ global_claude: z.ZodDefault<z.ZodBoolean>;
4168
+ project_agents: z.ZodDefault<z.ZodBoolean>;
4169
+ global_agents: z.ZodDefault<z.ZodBoolean>;
4170
+ }, z.core.$strip>>;
3905
4171
  ralph_loop: z.ZodOptional<z.ZodObject<{
3906
4172
  enabled: z.ZodDefault<z.ZodBoolean>;
3907
4173
  default_max_iterations: z.ZodDefault<z.ZodNumber>;
@@ -3955,6 +4221,7 @@ export declare const HiaiOpenCodeConfigSchema: z.ZodObject<{
3955
4221
  openrouter: z.ZodOptional<z.ZodString>;
3956
4222
  stitch: z.ZodOptional<z.ZodString>;
3957
4223
  firecrawl: z.ZodOptional<z.ZodString>;
4224
+ context7: z.ZodOptional<z.ZodString>;
3958
4225
  }, z.core.$strip>>;
3959
4226
  git_master: z.ZodDefault<z.ZodObject<{
3960
4227
  commit_footer: z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
@@ -0,0 +1,11 @@
1
+ import { z } from "zod";
2
+ export declare const SkillDiscoveryConfigSchema: z.ZodObject<{
3
+ config_sources: z.ZodDefault<z.ZodBoolean>;
4
+ project_opencode: z.ZodDefault<z.ZodBoolean>;
5
+ global_opencode: z.ZodDefault<z.ZodBoolean>;
6
+ project_claude: z.ZodDefault<z.ZodBoolean>;
7
+ global_claude: z.ZodDefault<z.ZodBoolean>;
8
+ project_agents: z.ZodDefault<z.ZodBoolean>;
9
+ global_agents: z.ZodDefault<z.ZodBoolean>;
10
+ }, z.core.$strip>;
11
+ export type SkillDiscoveryConfig = z.infer<typeof SkillDiscoveryConfigSchema>;
@@ -7,7 +7,7 @@ export interface AgentConfig {
7
7
  }
8
8
  export declare const CANONICAL_AGENT_NAMES: readonly ["bob", "guard", "strategist", "critic", "coder", "designer", "sub", "researcher", "multimodal", "quality-guardian", "platform-manager", "brainstormer", "agent-skills"];
9
9
  export type CanonicalAgentName = (typeof CANONICAL_AGENT_NAMES)[number];
10
- export declare const LEGACY_AGENT_ALIAS_NAMES: readonly ["general", "zoe", "build", "pre-plan", "logician", "librarian", "explore", "ui", "code-reviewer", "systematic-debugger", "mindmodel", "ledger-creator", "bootstrapper", "project-initializer"];
10
+ export declare const LEGACY_AGENT_ALIAS_NAMES: readonly ["general", "zoe", "build", "pre-plan", "manager", "vision", "logician", "librarian", "explore", "ui", "code-reviewer", "systematic-debugger", "mindmodel", "ledger-creator", "bootstrapper", "project-initializer"];
11
11
  export type LegacyAgentAliasName = (typeof LEGACY_AGENT_ALIAS_NAMES)[number];
12
12
  export declare const LEGACY_AGENT_ALIAS_TO_CANONICAL: Record<LegacyAgentAliasName, CanonicalAgentName>;
13
13
  export type KnownAgentName = CanonicalAgentName | LegacyAgentAliasName;
@@ -69,6 +69,15 @@ export interface SkillsConfig {
69
69
  enabled?: boolean;
70
70
  disabled?: string[];
71
71
  }
72
+ export interface SkillDiscoveryConfig {
73
+ config_sources?: boolean;
74
+ project_opencode?: boolean;
75
+ global_opencode?: boolean;
76
+ project_claude?: boolean;
77
+ global_claude?: boolean;
78
+ project_agents?: boolean;
79
+ global_agents?: boolean;
80
+ }
72
81
  export interface PermissionsConfig {
73
82
  read?: Record<string, string>;
74
83
  edit?: Record<string, string>;
@@ -81,6 +90,7 @@ export interface AuthKeys {
81
90
  openrouter?: string;
82
91
  stitch?: string;
83
92
  firecrawl?: string;
93
+ context7?: string;
84
94
  }
85
95
  export interface OllamaConfig {
86
96
  enabled: boolean;
@@ -99,6 +109,7 @@ export interface HiaiOpencodeConfig {
99
109
  lsp?: Record<string, LspServerConfig>;
100
110
  subtask2?: Subtask2Config;
101
111
  skills?: SkillsConfig;
112
+ skill_discovery?: SkillDiscoveryConfig;
102
113
  permissions?: PermissionsConfig;
103
114
  auth?: AuthKeys;
104
115
  ollama?: OllamaConfig;
@@ -0,0 +1 @@
1
+ export declare const MCP_STATUS_TEMPLATE = "# MCP Status Command\n\n## Purpose\n\nUse /mcp-status to show the effective hiai-opencode MCP setup without relying on OpenCode's mcp list output.\n\n## Execute\n\nRun:\n\n```bash\nhiai-opencode mcp-status\n```\n\nIf the binary is not on PATH, try the package-local fallback:\n\n```bash\nnode ./node_modules/@hiai-gg/hiai-opencode/assets/cli/hiai-opencode.mjs mcp-status\n```\n\n## Report\n\nSummarize the output in a compact status table:\n\n- MCP server name\n- status: ok, warning, error, disabled\n- cause or next action\n\nRules:\n\n- Do not print API key values.\n- If a key is missing, name the env var only.\n- If a runtime is missing, give the exact install hint from the command output or the shortest safe next command.\n- Do not edit config unless the user explicitly asks.\n- Do not run package installs unless the user explicitly asks.\n";
@@ -1,5 +1,5 @@
1
1
  import type { CommandDefinition } from "../claude-code-command-loader";
2
- export type BuiltinCommandName = "init-deep" | "ralph-loop" | "cancel-ralph" | "ulw-loop" | "refactor" | "start-work" | "stop-continuation" | "handoff" | "remove-ai-slops";
2
+ export type BuiltinCommandName = "init-deep" | "ralph-loop" | "cancel-ralph" | "ulw-loop" | "refactor" | "start-work" | "stop-continuation" | "handoff" | "remove-ai-slops" | "mcp-status";
3
3
  export interface BuiltinCommandConfig {
4
4
  disabled_commands?: BuiltinCommandName[];
5
5
  }
@@ -6,6 +6,7 @@ export declare function loadOpencodeGlobalSkills(): Promise<Record<string, Comma
6
6
  export declare function loadOpencodeProjectSkills(directory?: string): Promise<Record<string, CommandDefinition>>;
7
7
  export declare function loadProjectAgentsSkills(directory?: string): Promise<Record<string, CommandDefinition>>;
8
8
  export declare function loadGlobalAgentsSkills(): Promise<Record<string, CommandDefinition>>;
9
+ export declare function loadManagedPluginSkills(): Promise<Record<string, CommandDefinition>>;
9
10
  export interface DiscoverSkillsOptions {
10
11
  includeClaudeCodePaths?: boolean;
11
12
  directory?: string;
@@ -19,3 +20,4 @@ export declare function discoverOpencodeGlobalSkills(): Promise<LoadedSkill[]>;
19
20
  export declare function discoverOpencodeProjectSkills(directory?: string): Promise<LoadedSkill[]>;
20
21
  export declare function discoverProjectAgentsSkills(directory?: string): Promise<LoadedSkill[]>;
21
22
  export declare function discoverGlobalAgentsSkills(): Promise<LoadedSkill[]>;
23
+ export declare function discoverManagedPluginSkills(): Promise<LoadedSkill[]>;