@agent-native/core 0.40.2 → 0.41.1

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 (148) hide show
  1. package/README.md +11 -1
  2. package/dist/cli/create.d.ts.map +1 -1
  3. package/dist/cli/create.js +57 -0
  4. package/dist/cli/create.js.map +1 -1
  5. package/dist/cli/index.js +16 -0
  6. package/dist/cli/index.js.map +1 -1
  7. package/dist/cli/pr-visual-recap-workflow.d.ts +11 -0
  8. package/dist/cli/pr-visual-recap-workflow.d.ts.map +1 -0
  9. package/dist/cli/pr-visual-recap-workflow.js +11 -0
  10. package/dist/cli/pr-visual-recap-workflow.js.map +1 -0
  11. package/dist/cli/recap.d.ts +52 -0
  12. package/dist/cli/recap.d.ts.map +1 -0
  13. package/dist/cli/recap.js +581 -0
  14. package/dist/cli/recap.js.map +1 -0
  15. package/dist/cli/skills.d.ts +17 -4
  16. package/dist/cli/skills.d.ts.map +1 -1
  17. package/dist/cli/skills.js +60 -16
  18. package/dist/cli/skills.js.map +1 -1
  19. package/dist/cli/templates-meta.js +1 -1
  20. package/dist/cli/templates-meta.js.map +1 -1
  21. package/dist/cli/workspacify.d.ts.map +1 -1
  22. package/dist/cli/workspacify.js +19 -4
  23. package/dist/cli/workspacify.js.map +1 -1
  24. package/dist/client/blocks/index.d.ts +3 -0
  25. package/dist/client/blocks/index.d.ts.map +1 -1
  26. package/dist/client/blocks/index.js +3 -0
  27. package/dist/client/blocks/index.js.map +1 -1
  28. package/dist/client/blocks/library/AnnotatedCodeBlock.d.ts +6 -0
  29. package/dist/client/blocks/library/AnnotatedCodeBlock.d.ts.map +1 -0
  30. package/dist/client/blocks/library/AnnotatedCodeBlock.js +134 -0
  31. package/dist/client/blocks/library/AnnotatedCodeBlock.js.map +1 -0
  32. package/dist/client/blocks/library/HighlightedCode.d.ts +21 -1
  33. package/dist/client/blocks/library/HighlightedCode.d.ts.map +1 -1
  34. package/dist/client/blocks/library/HighlightedCode.js +86 -4
  35. package/dist/client/blocks/library/HighlightedCode.js.map +1 -1
  36. package/dist/client/blocks/library/annotated-code.config.d.ts +58 -0
  37. package/dist/client/blocks/library/annotated-code.config.d.ts.map +1 -0
  38. package/dist/client/blocks/library/annotated-code.config.js +53 -0
  39. package/dist/client/blocks/library/annotated-code.config.js.map +1 -0
  40. package/dist/client/blocks/library/checklist.js +2 -2
  41. package/dist/client/blocks/library/checklist.js.map +1 -1
  42. package/dist/client/blocks/library/code-highlight.d.ts +16 -0
  43. package/dist/client/blocks/library/code-highlight.d.ts.map +1 -0
  44. package/dist/client/blocks/library/code-highlight.js +160 -0
  45. package/dist/client/blocks/library/code-highlight.js.map +1 -0
  46. package/dist/client/blocks/library/code-tabs.config.d.ts +6 -0
  47. package/dist/client/blocks/library/code-tabs.config.d.ts.map +1 -1
  48. package/dist/client/blocks/library/code-tabs.config.js +1 -0
  49. package/dist/client/blocks/library/code-tabs.config.js.map +1 -1
  50. package/dist/client/blocks/library/code-tabs.d.ts.map +1 -1
  51. package/dist/client/blocks/library/code-tabs.js +35 -5
  52. package/dist/client/blocks/library/code-tabs.js.map +1 -1
  53. package/dist/client/blocks/library/code.config.d.ts +43 -0
  54. package/dist/client/blocks/library/code.config.d.ts.map +1 -0
  55. package/dist/client/blocks/library/code.config.js +34 -0
  56. package/dist/client/blocks/library/code.config.js.map +1 -0
  57. package/dist/client/blocks/library/code.d.ts +3 -0
  58. package/dist/client/blocks/library/code.d.ts.map +1 -0
  59. package/dist/client/blocks/library/code.js +95 -0
  60. package/dist/client/blocks/library/code.js.map +1 -0
  61. package/dist/client/blocks/library/dev-doc-ui.d.ts +2 -1
  62. package/dist/client/blocks/library/dev-doc-ui.d.ts.map +1 -1
  63. package/dist/client/blocks/library/dev-doc-ui.js +2 -1
  64. package/dist/client/blocks/library/dev-doc-ui.js.map +1 -1
  65. package/dist/client/blocks/library/server-specs.d.ts.map +1 -1
  66. package/dist/client/blocks/library/server-specs.js +21 -0
  67. package/dist/client/blocks/library/server-specs.js.map +1 -1
  68. package/dist/client/blocks/library/specs.d.ts +1 -1
  69. package/dist/client/blocks/library/specs.d.ts.map +1 -1
  70. package/dist/client/blocks/library/specs.js +30 -2
  71. package/dist/client/blocks/library/specs.js.map +1 -1
  72. package/dist/client/blocks/server.d.ts +1 -0
  73. package/dist/client/blocks/server.d.ts.map +1 -1
  74. package/dist/client/blocks/server.js +1 -0
  75. package/dist/client/blocks/server.js.map +1 -1
  76. package/dist/client/blocks/types.d.ts +1 -1
  77. package/dist/client/blocks/types.js.map +1 -1
  78. package/dist/client/extensions/ExtensionsListPage.d.ts.map +1 -1
  79. package/dist/client/extensions/ExtensionsListPage.js +28 -13
  80. package/dist/client/extensions/ExtensionsListPage.js.map +1 -1
  81. package/dist/client/extensions/ExtensionsSidebarSection.d.ts.map +1 -1
  82. package/dist/client/extensions/ExtensionsSidebarSection.js +31 -9
  83. package/dist/client/extensions/ExtensionsSidebarSection.js.map +1 -1
  84. package/dist/client/rich-markdown-editor/CodeBlockNode.d.ts +49 -0
  85. package/dist/client/rich-markdown-editor/CodeBlockNode.d.ts.map +1 -0
  86. package/dist/client/rich-markdown-editor/CodeBlockNode.js +126 -0
  87. package/dist/client/rich-markdown-editor/CodeBlockNode.js.map +1 -0
  88. package/dist/client/rich-markdown-editor/RegistryBlockNode.d.ts.map +1 -1
  89. package/dist/client/rich-markdown-editor/RegistryBlockNode.js +26 -3
  90. package/dist/client/rich-markdown-editor/RegistryBlockNode.js.map +1 -1
  91. package/dist/client/rich-markdown-editor/RichMarkdownEditor.d.ts +1 -1
  92. package/dist/client/rich-markdown-editor/extensions.d.ts.map +1 -1
  93. package/dist/client/rich-markdown-editor/extensions.js +8 -8
  94. package/dist/client/rich-markdown-editor/extensions.js.map +1 -1
  95. package/dist/client/rich-markdown-editor/index.d.ts +1 -0
  96. package/dist/client/rich-markdown-editor/index.d.ts.map +1 -1
  97. package/dist/client/rich-markdown-editor/index.js +1 -0
  98. package/dist/client/rich-markdown-editor/index.js.map +1 -1
  99. package/dist/client/rich-markdown-editor/registrySlashCommands.d.ts.map +1 -1
  100. package/dist/client/rich-markdown-editor/registrySlashCommands.js +1 -0
  101. package/dist/client/rich-markdown-editor/registrySlashCommands.js.map +1 -1
  102. package/dist/extensions/actions.d.ts.map +1 -1
  103. package/dist/extensions/actions.js +63 -2
  104. package/dist/extensions/actions.js.map +1 -1
  105. package/dist/extensions/routes.d.ts.map +1 -1
  106. package/dist/extensions/routes.js +24 -3
  107. package/dist/extensions/routes.js.map +1 -1
  108. package/dist/extensions/schema.d.ts +43 -2
  109. package/dist/extensions/schema.d.ts.map +1 -1
  110. package/dist/extensions/schema.js +12 -0
  111. package/dist/extensions/schema.js.map +1 -1
  112. package/dist/extensions/store.d.ts +20 -0
  113. package/dist/extensions/store.d.ts.map +1 -1
  114. package/dist/extensions/store.js +82 -3
  115. package/dist/extensions/store.js.map +1 -1
  116. package/dist/server/auth.d.ts.map +1 -1
  117. package/dist/server/auth.js +13 -0
  118. package/dist/server/auth.js.map +1 -1
  119. package/dist/server/core-routes-plugin.d.ts.map +1 -1
  120. package/dist/server/core-routes-plugin.js +11 -0
  121. package/dist/server/core-routes-plugin.js.map +1 -1
  122. package/dist/server/recap-image-route.d.ts +8 -0
  123. package/dist/server/recap-image-route.d.ts.map +1 -0
  124. package/dist/server/recap-image-route.js +200 -0
  125. package/dist/server/recap-image-route.js.map +1 -0
  126. package/dist/server/recap-image-store.d.ts +41 -0
  127. package/dist/server/recap-image-store.d.ts.map +1 -0
  128. package/dist/server/recap-image-store.js +138 -0
  129. package/dist/server/recap-image-store.js.map +1 -0
  130. package/dist/styles/rich-markdown-editor.css +66 -17
  131. package/dist/templates/default/pnpm-workspace.yaml +7 -0
  132. package/dist/templates/workspace-root/package.json +0 -5
  133. package/dist/templates/workspace-root/pnpm-workspace.yaml +14 -0
  134. package/docs/content/cloneable-saas.md +10 -0
  135. package/docs/content/external-agents.md +4 -7
  136. package/docs/content/faq.md +10 -0
  137. package/docs/content/getting-started.md +11 -0
  138. package/docs/content/pr-visual-recap.md +103 -0
  139. package/docs/content/skills-guide.md +1 -3
  140. package/docs/content/template-assets.md +1 -4
  141. package/docs/content/template-design.md +0 -57
  142. package/docs/content/template-plan.md +22 -18
  143. package/docs/content/visual-plans.md +10 -7
  144. package/docs/content/what-is-agent-native.md +2 -0
  145. package/package.json +5 -1
  146. package/src/templates/default/pnpm-workspace.yaml +7 -0
  147. package/src/templates/workspace-root/package.json +0 -5
  148. package/src/templates/workspace-root/pnpm-workspace.yaml +14 -0
@@ -1 +1 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/cli/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/cli/skills.ts"],"names":[],"mappings":"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"}
@@ -11,17 +11,19 @@ import { buildAppSkillPack, ensureAppSkill, loadAppSkillManifest, normalizeAppSk
11
11
  import { readConnectClientPreferences, resolveClients, runConnect, writeConnectClientPreferences, } from "./connect.js";
12
12
  import { CONTEXT_XRAY_SKILL_MD, installLocalContextXray, } from "./context-xray-local.js";
13
13
  import { CLIENTS } from "./mcp-config-writers.js";
14
+ import { PR_VISUAL_RECAP_SETUP, writePrVisualRecapWorkflow } from "./recap.js";
14
15
  const HELP = `agent-native skills
15
16
 
16
17
  Usage:
17
18
  agent-native skills list
18
- agent-native skills add assets|design-exploration|visual-plan|visual-recap|visual-questions|ui-plan|prototype-plan|plan-design|context-xray [--client codex|claude-code|claude-code-cli|cowork|all] [--scope user|project] [--mcp-url <url>] [--no-connect] [--yes] [--dry-run] [--json]
19
+ agent-native skills add assets|design-exploration|visual-plan|visual-recap|visual-questions|ui-plan|prototype-plan|plan-design|context-xray [--client codex|claude-code|claude-code-cli|cowork|all] [--scope user|project] [--mcp-url <url>] [--no-connect] [--with-github-action] [--yes] [--dry-run] [--json]
19
20
  agent-native skills add <manifest-or-app-dir> [--client ...] [--yes]
20
21
 
21
22
  Examples:
22
23
  agent-native skills add assets
23
24
  agent-native skills add design-exploration
24
25
  agent-native skills add visual-plan
26
+ agent-native skills add visual-plan --with-github-action
25
27
  agent-native skills add visual-plan --no-connect
26
28
  agent-native skills add context-xray --client all
27
29
  agent-native skills add assets --client claude-code
@@ -580,12 +582,16 @@ machine-checked list of block types and their data schemas, call \`get-plan-bloc
580
582
  so you never emit a block the editor cannot render or round-trip:
581
583
 
582
584
  - \`rich-text\` for plan prose with real bold/italic/code/links and nested lists.
583
- - \`implementation-map\` / \`code-tabs\` for the file map: file path, the
584
- symbols/components to touch, the reason, risk/coordination notes, and a
585
- concise syntax-highlighted snippet of the code shape in every file tab
586
- never the whole file, never a prose-only file list. If the exact code is not
587
- known yet, include the smallest plausible planned shape or a short comment
588
- stub that names what needs to be filled in.
585
+ - \`code\` for the file map: show how the few load-bearing files actually change
586
+ as real, syntax-highlighted code — the new action, the changed schema, the
587
+ wiring point. Highlight only the files worth reading; never an exhaustive list
588
+ of every touched file, and never a prose-only description of a file. When more
589
+ than one file matters, group the \`code\` blocks in a vertical \`tabs\` block
590
+ (the standard tab primitive) rather than a bespoke container. Reach for
591
+ \`annotated-code\` instead only when a snippet needs line-anchored margin notes.
592
+ If the exact code is unknown, show the smallest plausible planned shape or a
593
+ commented stub naming what to fill in. (\`code-tabs\` and \`implementation-map\`
594
+ are legacy: their renderers stay for old plans, but do not author new ones.)
589
595
  - \`decision\` for two or three option cards with consequences. These are static
590
596
  records; do not style them like clickable tabs or chips unless the renderer
591
597
  truly supports changing the selection.
@@ -601,7 +607,7 @@ so you never emit a block the editor cannot render or round-trip:
601
607
  \`.diagram-pill\`, \`.diagram-muted\`, and \`[data-rough]\`; they map to the plan's
602
608
  Tailwind theme variables through \`--wf-ink\`, \`--wf-muted\`, \`--wf-line\`,
603
609
  \`--wf-paper\`, \`--wf-card\`, \`--wf-accent\`, \`--wf-accent-soft\`, \`--wf-warn\`, and
604
- \`--wf-ok\`, and switch to Virgil plus rough.js outlines in sketchy mode. Do not
610
+ \`--wf-ok\`, and switch to Excalifont plus rough.js outlines in sketchy mode. Do not
605
611
  set \`font-family\` and do not hard-code hex, rgb, or hsl colors in diagram HTML
606
612
  or CSS. Use legacy \`nodes\` / \`edges\` only for small previews or truly
607
613
  sequential flows. In architecture/code plans, prefer a repeated section rhythm:
@@ -620,7 +626,10 @@ block titled "Open Questions" so the renderer presents it as a distinct section.
620
626
  Use \`single\` or \`multi\` for clear choices, \`freeform\` for constraints,
621
627
  \`recommended: true\` for the default you would pick, and option \`wireframe\` /
622
628
  \`diagram\` previews only when the options are not already visible in the top
623
- canvas. Keep non-answerable assumptions or risks as concise \`callout\` blocks in
629
+ canvas. \`single\` and \`multi\` questions always render a write-in field so a
630
+ reviewer can answer with a custom option — never add an explicit "Other" option
631
+ yourself; set \`allowOther: false\` only when a free-text answer makes no sense.
632
+ Keep non-answerable assumptions or risks as concise \`callout\` blocks in
624
633
  the relevant section. Never bury a questions/decisions wall inside the plan
625
634
  narrative, and never ask the same question in both a \`decision\` block and a
626
635
  \`question-form\`.
@@ -651,8 +660,9 @@ elements, helper classes, and \`--wf-*\` tokens, so the renderer applies the
651
660
  correct desktop footprint, theme, and one subtle whole-frame wobble. Plain-text
652
661
  designer notes sit spaced off the frame, pointing only at the controls that need
653
662
  explanation. Below it, a Claude/Codex-grade document: objective and
654
- done-criteria, an \`implementation-map\` naming the real components and actions
655
- with short highlighted snippets, a \`decision\` card weighing two real approaches,
663
+ done-criteria, a few \`code\` blocks (grouped in a vertical \`tabs\` block when
664
+ more than one) showing the real shape of the load-bearing files, a \`decision\`
665
+ card weighing two real approaches,
656
666
  and a validation step — none of it repeating the canvas. If the task also
657
667
  changes a multi-step completion flow, the same top area includes a Prototype tab
658
668
  whose screens use the same labels and states as the canvas artboards, with
@@ -694,7 +704,7 @@ metadata:
694
704
 
695
705
  Agent-Native Plans is structured visual planning mode for coding agents. Build
696
706
  the plan you would normally write in Markdown, but as a scannable document with
697
- editable blocks mixed in: inline diagrams, implementation maps, code previews,
707
+ editable blocks mixed in: inline diagrams, code snippets,
698
708
  open questions, and an optional top visual review area (wireframe canvas, live
699
709
  prototype, or both in tabs). Architecture, backend, data, and refactor plans
700
710
  usually start in the document with local diagrams near each claim. UI and product
@@ -770,7 +780,7 @@ plan needs a richer review surface.
770
780
  migration, or code plans, usually omit \`content.canvas\` and
771
781
  \`content.prototype\`; put \`diagram\`, \`mermaid\`, \`api-endpoint\`,
772
782
  \`openapi-spec\`, \`data-model\`, \`diff\`, \`file-tree\`, \`json-explorer\`,
773
- \`implementation-map\` and \`code-tabs\` blocks directly next
783
+ \`code\` and \`annotated-code\` blocks directly next
774
784
  to the relevant prose. Skip the top visual surface for non-visual work.
775
785
  4. Surface the returned Plans link or inline MCP App and ask the user to review.
776
786
  Always include the actual URL in chat so the next step is a click in CLI or
@@ -1541,7 +1551,7 @@ the actual diff:
1541
1551
  \`.diagram-pill\`, \`.diagram-muted\`, and \`[data-rough]\`; these map to the plan's
1542
1552
  Tailwind theme variables through \`--wf-ink\`, \`--wf-muted\`, \`--wf-line\`,
1543
1553
  \`--wf-paper\`, \`--wf-card\`, \`--wf-accent\`, \`--wf-accent-soft\`, \`--wf-warn\`, and
1544
- \`--wf-ok\`, and switch to Virgil plus rough.js outlines in sketchy mode. Do not
1554
+ \`--wf-ok\`, and switch to Excalifont plus rough.js outlines in sketchy mode. Do not
1545
1555
  set \`font-family\` and do not emit hex, rgb/hsl literals, or one-off dark/light
1546
1556
  palettes in diagram CSS.
1547
1557
  - **Outcome-first narrative** → \`rich-text\` for the "what changed and why" prose:
@@ -1682,6 +1692,12 @@ Each option can include \`label\`, \`value\`, \`description\`, \`recommended\`,
1682
1692
  \`diagram\`. Pick the preview that matches the real footprint — do not offer a
1683
1693
  desktop/mobile pair for a popover, panel, or component.
1684
1694
 
1695
+ \`single\`, \`multi\`, and \`visual\` questions always render a write-in field, so a
1696
+ reviewer can answer with their own option instead of the listed choices. Do not
1697
+ add an explicit "Other" or "Something else" option yourself; set
1698
+ \`allowOther: false\` only on the rare question where a free-text answer makes no
1699
+ sense.
1700
+
1685
1701
  ## Quality Bar
1686
1702
 
1687
1703
  - Ask only decision-changing questions. A beautiful form with low-value questions
@@ -1848,7 +1864,7 @@ const BUILT_IN_APP_SKILLS = {
1848
1864
  manifest: normalizeAppSkillManifest({
1849
1865
  schemaVersion: 1,
1850
1866
  id: "visual-plans",
1851
- displayName: "Agent-Native Plans",
1867
+ displayName: "Agent-Native Plan",
1852
1868
  description: "Generate and review coding-agent plans as structured documents with inline diagrams, implementation maps, optional UI wireframes/prototypes, annotations, feedback, and HTML export.",
1853
1869
  hosted: {
1854
1870
  url: "https://plan.agent-native.com",
@@ -1857,7 +1873,7 @@ const BUILT_IN_APP_SKILLS = {
1857
1873
  mcp: { serverName: "agent-native-plans" },
1858
1874
  auth: {
1859
1875
  mode: "oauth",
1860
- setup: "Install with the Agent-Native CLI to add the /visual-plan, /visual-recap, /ui-plan, /prototype-plan, /plan-design, and /visual-questions skills plus the Plans MCP connector. Authenticate only for hosted/account-backed sharing.",
1876
+ setup: "Install with the Agent-Native CLI to add the /visual-plan, /visual-recap, /ui-plan, /prototype-plan, /plan-design, and /visual-questions skills plus the Plan MCP connector. Authenticate only for hosted/account-backed sharing.",
1861
1877
  },
1862
1878
  surfaces: [
1863
1879
  {
@@ -2243,6 +2259,8 @@ export function parseSkillsArgs(argv) {
2243
2259
  out.mcp = false;
2244
2260
  else if (arg === "--no-connect" || arg === "--skip-connect")
2245
2261
  out.connect = false;
2262
+ else if (arg === "--with-github-action" || arg === "--with-github-actions")
2263
+ out.withGithubAction = true;
2246
2264
  else if (arg.startsWith("-"))
2247
2265
  throw new Error(`Unknown option: ${arg}`);
2248
2266
  else if (!out.target)
@@ -2646,6 +2664,21 @@ export async function addAgentNativeSkill(parsed, options = {}) {
2646
2664
  }
2647
2665
  }
2648
2666
  }
2667
+ // `--with-github-action`: also drop the PR Visual Recap workflow into the
2668
+ // repo so PRs get automatic recaps. Only meaningful for the plan family.
2669
+ let githubActionPath;
2670
+ let githubActionExisted;
2671
+ if (parsed.withGithubAction) {
2672
+ if (knownTarget !== "visual-plans") {
2673
+ options.log?.("--with-github-action only applies to the visual-plan skill; skipping the workflow.");
2674
+ }
2675
+ else {
2676
+ const written = writePrVisualRecapWorkflow(options.baseDir ?? process.cwd());
2677
+ githubActionPath = written.path;
2678
+ githubActionExisted = written.existed;
2679
+ commands.push(`write ${written.path}`);
2680
+ }
2681
+ }
2649
2682
  return {
2650
2683
  id: installTarget.id,
2651
2684
  displayName: installTarget.displayName,
@@ -2658,6 +2691,8 @@ export async function addAgentNativeSkill(parsed, options = {}) {
2658
2691
  commands,
2659
2692
  connected,
2660
2693
  connectCommand,
2694
+ githubActionPath,
2695
+ githubActionExisted,
2661
2696
  };
2662
2697
  }
2663
2698
  finally {
@@ -2752,6 +2787,14 @@ export async function runSkills(argv, options = {}) {
2752
2787
  : pendingConnectCommands.length
2753
2788
  ? `Authentication: pending — run ${pendingConnectCommands.join(" && ")}`
2754
2789
  : "";
2790
+ const githubActions = [
2791
+ ...new Set(results
2792
+ .map((result) => result.githubActionPath)
2793
+ .filter((p) => Boolean(p))),
2794
+ ];
2795
+ const githubActionLine = githubActions.length
2796
+ ? `PR Visual Recap workflow: wrote ${githubActions.join(", ")}.\nSet these GitHub repo secrets/variables for it to run:\n ${PR_VISUAL_RECAP_SETUP.join("\n ")}`
2797
+ : "";
2755
2798
  process.stdout.write([
2756
2799
  `Installed ${installedNames} skill${results.length === 1 ? "" : "s"}.`,
2757
2800
  skillsAgents.length
@@ -2764,6 +2807,7 @@ export async function runSkills(argv, options = {}) {
2764
2807
  ? `MCP URL${mcpUrls.length === 1 ? "" : "s"}: ${mcpUrls.join(", ")}.`
2765
2808
  : "",
2766
2809
  authLine,
2810
+ githubActionLine,
2767
2811
  localCommands.length ? `Local command: ${localCommands.join(", ")}.` : "",
2768
2812
  "Restart or reload selected agent clients if the skill is not visible yet.",
2769
2813
  parsed.clientExplicit