@agent-native/core 0.52.0 → 0.54.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 (267) hide show
  1. package/README.md +41 -95
  2. package/blueprints/action/crud.md +98 -0
  3. package/blueprints/channel/discord.md +74 -0
  4. package/blueprints/provider/stripe.md +87 -0
  5. package/blueprints/sandbox/docker.md +78 -0
  6. package/dist/action.d.ts +64 -1
  7. package/dist/action.d.ts.map +1 -1
  8. package/dist/action.js +73 -2
  9. package/dist/action.js.map +1 -1
  10. package/dist/agent/index.d.ts +1 -0
  11. package/dist/agent/index.d.ts.map +1 -1
  12. package/dist/agent/index.js +1 -0
  13. package/dist/agent/index.js.map +1 -1
  14. package/dist/agent/observational-memory/compactor.d.ts +43 -0
  15. package/dist/agent/observational-memory/compactor.d.ts.map +1 -0
  16. package/dist/agent/observational-memory/compactor.js +50 -0
  17. package/dist/agent/observational-memory/compactor.js.map +1 -0
  18. package/dist/agent/observational-memory/config.d.ts +37 -0
  19. package/dist/agent/observational-memory/config.d.ts.map +1 -0
  20. package/dist/agent/observational-memory/config.js +48 -0
  21. package/dist/agent/observational-memory/config.js.map +1 -0
  22. package/dist/agent/observational-memory/index.d.ts +26 -0
  23. package/dist/agent/observational-memory/index.d.ts.map +1 -0
  24. package/dist/agent/observational-memory/index.js +25 -0
  25. package/dist/agent/observational-memory/index.js.map +1 -0
  26. package/dist/agent/observational-memory/internal-run.d.ts +37 -0
  27. package/dist/agent/observational-memory/internal-run.d.ts.map +1 -0
  28. package/dist/agent/observational-memory/internal-run.js +59 -0
  29. package/dist/agent/observational-memory/internal-run.js.map +1 -0
  30. package/dist/agent/observational-memory/message-text.d.ts +13 -0
  31. package/dist/agent/observational-memory/message-text.d.ts.map +1 -0
  32. package/dist/agent/observational-memory/message-text.js +46 -0
  33. package/dist/agent/observational-memory/message-text.js.map +1 -0
  34. package/dist/agent/observational-memory/migrations.d.ts +13 -0
  35. package/dist/agent/observational-memory/migrations.d.ts.map +1 -0
  36. package/dist/agent/observational-memory/migrations.js +43 -0
  37. package/dist/agent/observational-memory/migrations.js.map +1 -0
  38. package/dist/agent/observational-memory/observer.d.ts +37 -0
  39. package/dist/agent/observational-memory/observer.d.ts.map +1 -0
  40. package/dist/agent/observational-memory/observer.js +82 -0
  41. package/dist/agent/observational-memory/observer.js.map +1 -0
  42. package/dist/agent/observational-memory/plugin.d.ts +16 -0
  43. package/dist/agent/observational-memory/plugin.d.ts.map +1 -0
  44. package/dist/agent/observational-memory/plugin.js +26 -0
  45. package/dist/agent/observational-memory/plugin.js.map +1 -0
  46. package/dist/agent/observational-memory/prompts.d.ts +27 -0
  47. package/dist/agent/observational-memory/prompts.d.ts.map +1 -0
  48. package/dist/agent/observational-memory/prompts.js +42 -0
  49. package/dist/agent/observational-memory/prompts.js.map +1 -0
  50. package/dist/agent/observational-memory/read.d.ts +45 -0
  51. package/dist/agent/observational-memory/read.d.ts.map +1 -0
  52. package/dist/agent/observational-memory/read.js +97 -0
  53. package/dist/agent/observational-memory/read.js.map +1 -0
  54. package/dist/agent/observational-memory/reflector.d.ts +31 -0
  55. package/dist/agent/observational-memory/reflector.d.ts.map +1 -0
  56. package/dist/agent/observational-memory/reflector.js +76 -0
  57. package/dist/agent/observational-memory/reflector.js.map +1 -0
  58. package/dist/agent/observational-memory/schema.d.ts +267 -0
  59. package/dist/agent/observational-memory/schema.d.ts.map +1 -0
  60. package/dist/agent/observational-memory/schema.js +48 -0
  61. package/dist/agent/observational-memory/schema.js.map +1 -0
  62. package/dist/agent/observational-memory/store.d.ts +52 -0
  63. package/dist/agent/observational-memory/store.d.ts.map +1 -0
  64. package/dist/agent/observational-memory/store.js +197 -0
  65. package/dist/agent/observational-memory/store.js.map +1 -0
  66. package/dist/agent/observational-memory/types.d.ts +61 -0
  67. package/dist/agent/observational-memory/types.d.ts.map +1 -0
  68. package/dist/agent/observational-memory/types.js +9 -0
  69. package/dist/agent/observational-memory/types.js.map +1 -0
  70. package/dist/agent/processors.d.ts +146 -0
  71. package/dist/agent/processors.d.ts.map +1 -0
  72. package/dist/agent/processors.js +122 -0
  73. package/dist/agent/processors.js.map +1 -0
  74. package/dist/agent/production-agent.d.ts +25 -0
  75. package/dist/agent/production-agent.d.ts.map +1 -1
  76. package/dist/agent/production-agent.js +341 -1
  77. package/dist/agent/production-agent.js.map +1 -1
  78. package/dist/agent/run-loop-with-resume.d.ts.map +1 -1
  79. package/dist/agent/run-loop-with-resume.js +48 -0
  80. package/dist/agent/run-loop-with-resume.js.map +1 -1
  81. package/dist/agent/run-store.d.ts +17 -0
  82. package/dist/agent/run-store.d.ts.map +1 -1
  83. package/dist/agent/run-store.js +55 -0
  84. package/dist/agent/run-store.js.map +1 -1
  85. package/dist/agent/runtime-context.d.ts +30 -0
  86. package/dist/agent/runtime-context.d.ts.map +1 -1
  87. package/dist/agent/runtime-context.js +54 -1
  88. package/dist/agent/runtime-context.js.map +1 -1
  89. package/dist/agent/tool-call-journal.d.ts +99 -0
  90. package/dist/agent/tool-call-journal.d.ts.map +1 -0
  91. package/dist/agent/tool-call-journal.js +212 -0
  92. package/dist/agent/tool-call-journal.js.map +1 -0
  93. package/dist/agent/types.d.ts +35 -0
  94. package/dist/agent/types.d.ts.map +1 -1
  95. package/dist/agent/types.js.map +1 -1
  96. package/dist/cli/add.d.ts +109 -0
  97. package/dist/cli/add.d.ts.map +1 -0
  98. package/dist/cli/add.js +352 -0
  99. package/dist/cli/add.js.map +1 -0
  100. package/dist/cli/connect.d.ts +2 -2
  101. package/dist/cli/connect.d.ts.map +1 -1
  102. package/dist/cli/connect.js +92 -24
  103. package/dist/cli/connect.js.map +1 -1
  104. package/dist/cli/eval.d.ts +17 -0
  105. package/dist/cli/eval.d.ts.map +1 -0
  106. package/dist/cli/eval.js +121 -0
  107. package/dist/cli/eval.js.map +1 -0
  108. package/dist/cli/index.js +44 -3
  109. package/dist/cli/index.js.map +1 -1
  110. package/dist/cli/mcp.d.ts.map +1 -1
  111. package/dist/cli/mcp.js +11 -5
  112. package/dist/cli/mcp.js.map +1 -1
  113. package/dist/cli/plan-local.d.ts +66 -5
  114. package/dist/cli/plan-local.d.ts.map +1 -1
  115. package/dist/cli/plan-local.js +622 -21
  116. package/dist/cli/plan-local.js.map +1 -1
  117. package/dist/cli/skills.d.ts +2 -2
  118. package/dist/cli/skills.d.ts.map +1 -1
  119. package/dist/cli/skills.js +108 -62
  120. package/dist/cli/skills.js.map +1 -1
  121. package/dist/client/AssistantChat.d.ts.map +1 -1
  122. package/dist/client/AssistantChat.js +118 -92
  123. package/dist/client/AssistantChat.js.map +1 -1
  124. package/dist/client/agent-chat-adapter.d.ts.map +1 -1
  125. package/dist/client/agent-chat-adapter.js +16 -0
  126. package/dist/client/agent-chat-adapter.js.map +1 -1
  127. package/dist/client/chat/tool-call-display.d.ts +20 -1
  128. package/dist/client/chat/tool-call-display.d.ts.map +1 -1
  129. package/dist/client/chat/tool-call-display.js +32 -7
  130. package/dist/client/chat/tool-call-display.js.map +1 -1
  131. package/dist/client/sse-event-processor.d.ts +13 -0
  132. package/dist/client/sse-event-processor.d.ts.map +1 -1
  133. package/dist/client/sse-event-processor.js +21 -0
  134. package/dist/client/sse-event-processor.js.map +1 -1
  135. package/dist/coding-tools/run-code.d.ts.map +1 -1
  136. package/dist/coding-tools/run-code.js +18 -2
  137. package/dist/coding-tools/run-code.js.map +1 -1
  138. package/dist/db/client.d.ts +4 -2
  139. package/dist/db/client.d.ts.map +1 -1
  140. package/dist/db/client.js +6 -4
  141. package/dist/db/client.js.map +1 -1
  142. package/dist/deploy/route-discovery.d.ts.map +1 -1
  143. package/dist/deploy/route-discovery.js +1 -0
  144. package/dist/deploy/route-discovery.js.map +1 -1
  145. package/dist/eval/agent-runner.d.ts +63 -0
  146. package/dist/eval/agent-runner.d.ts.map +1 -0
  147. package/dist/eval/agent-runner.js +142 -0
  148. package/dist/eval/agent-runner.js.map +1 -0
  149. package/dist/eval/define-eval.d.ts +29 -0
  150. package/dist/eval/define-eval.d.ts.map +1 -0
  151. package/dist/eval/define-eval.js +43 -0
  152. package/dist/eval/define-eval.js.map +1 -0
  153. package/dist/eval/index.d.ts +18 -0
  154. package/dist/eval/index.d.ts.map +1 -0
  155. package/dist/eval/index.js +17 -0
  156. package/dist/eval/index.js.map +1 -0
  157. package/dist/eval/report.d.ts +8 -0
  158. package/dist/eval/report.d.ts.map +1 -0
  159. package/dist/eval/report.js +44 -0
  160. package/dist/eval/report.js.map +1 -0
  161. package/dist/eval/runner.d.ts +67 -0
  162. package/dist/eval/runner.d.ts.map +1 -0
  163. package/dist/eval/runner.js +256 -0
  164. package/dist/eval/runner.js.map +1 -0
  165. package/dist/eval/scorer.d.ts +83 -0
  166. package/dist/eval/scorer.d.ts.map +1 -0
  167. package/dist/eval/scorer.js +195 -0
  168. package/dist/eval/scorer.js.map +1 -0
  169. package/dist/eval/types.d.ts +162 -0
  170. package/dist/eval/types.d.ts.map +1 -0
  171. package/dist/eval/types.js +20 -0
  172. package/dist/eval/types.js.map +1 -0
  173. package/dist/extensions/fetch-tool.d.ts.map +1 -1
  174. package/dist/extensions/fetch-tool.js +80 -15
  175. package/dist/extensions/fetch-tool.js.map +1 -1
  176. package/dist/extensions/web-content.d.ts +61 -0
  177. package/dist/extensions/web-content.d.ts.map +1 -0
  178. package/dist/extensions/web-content.js +468 -0
  179. package/dist/extensions/web-content.js.map +1 -0
  180. package/dist/extensions/web-search-tool.js +3 -3
  181. package/dist/extensions/web-search-tool.js.map +1 -1
  182. package/dist/mcp/build-server.d.ts.map +1 -1
  183. package/dist/mcp/build-server.js +4 -1
  184. package/dist/mcp/build-server.js.map +1 -1
  185. package/dist/observability/traces.d.ts.map +1 -1
  186. package/dist/observability/traces.js +100 -1
  187. package/dist/observability/traces.js.map +1 -1
  188. package/dist/observability/tracing.d.ts +73 -0
  189. package/dist/observability/tracing.d.ts.map +1 -0
  190. package/dist/observability/tracing.js +126 -0
  191. package/dist/observability/tracing.js.map +1 -0
  192. package/dist/onboarding/default-steps.d.ts.map +1 -1
  193. package/dist/onboarding/default-steps.js +4 -1
  194. package/dist/onboarding/default-steps.js.map +1 -1
  195. package/dist/provider-api/actions/query-staged-dataset.d.ts +1 -1
  196. package/dist/provider-api/corpus-jobs.d.ts +80 -0
  197. package/dist/provider-api/corpus-jobs.d.ts.map +1 -1
  198. package/dist/provider-api/corpus-jobs.js +219 -22
  199. package/dist/provider-api/corpus-jobs.js.map +1 -1
  200. package/dist/provider-api/index.d.ts +24 -32
  201. package/dist/provider-api/index.d.ts.map +1 -1
  202. package/dist/provider-api/index.js +28 -1
  203. package/dist/provider-api/index.js.map +1 -1
  204. package/dist/scripts/agent-engines/list-agent-engines.d.ts.map +1 -1
  205. package/dist/scripts/agent-engines/list-agent-engines.js +10 -3
  206. package/dist/scripts/agent-engines/list-agent-engines.js.map +1 -1
  207. package/dist/server/action-discovery.d.ts.map +1 -1
  208. package/dist/server/action-discovery.js +4 -0
  209. package/dist/server/action-discovery.js.map +1 -1
  210. package/dist/server/agent-chat-plugin.d.ts +9 -0
  211. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  212. package/dist/server/agent-chat-plugin.js +119 -111
  213. package/dist/server/agent-chat-plugin.js.map +1 -1
  214. package/dist/server/agent-teams.d.ts +62 -0
  215. package/dist/server/agent-teams.d.ts.map +1 -1
  216. package/dist/server/agent-teams.js +99 -2
  217. package/dist/server/agent-teams.js.map +1 -1
  218. package/dist/server/better-auth-instance.d.ts +7 -0
  219. package/dist/server/better-auth-instance.d.ts.map +1 -1
  220. package/dist/server/better-auth-instance.js +90 -0
  221. package/dist/server/better-auth-instance.js.map +1 -1
  222. package/dist/server/core-routes-plugin.d.ts.map +1 -1
  223. package/dist/server/core-routes-plugin.js +7 -4
  224. package/dist/server/core-routes-plugin.js.map +1 -1
  225. package/dist/server/credential-provider.d.ts.map +1 -1
  226. package/dist/server/credential-provider.js +2 -0
  227. package/dist/server/credential-provider.js.map +1 -1
  228. package/dist/server/deep-link.d.ts +7 -0
  229. package/dist/server/deep-link.d.ts.map +1 -1
  230. package/dist/server/deep-link.js +13 -2
  231. package/dist/server/deep-link.js.map +1 -1
  232. package/dist/server/framework-request-handler.d.ts.map +1 -1
  233. package/dist/server/framework-request-handler.js +33 -1
  234. package/dist/server/framework-request-handler.js.map +1 -1
  235. package/dist/server/index.d.ts +2 -1
  236. package/dist/server/index.d.ts.map +1 -1
  237. package/dist/server/index.js +2 -1
  238. package/dist/server/index.js.map +1 -1
  239. package/dist/templates/default/.agents/skills/actions/SKILL.md +52 -1
  240. package/dist/templates/default/.agents/skills/security/SKILL.md +22 -0
  241. package/dist/templates/workspace-core/.agents/skills/actions/SKILL.md +52 -1
  242. package/dist/templates/workspace-core/.agents/skills/external-agents/SKILL.md +16 -4
  243. package/dist/templates/workspace-core/.agents/skills/harness-agents/SKILL.md +20 -0
  244. package/dist/templates/workspace-core/.agents/skills/observability/SKILL.md +31 -0
  245. package/dist/templates/workspace-core/.agents/skills/security/SKILL.md +22 -0
  246. package/docs/content/actions.md +50 -0
  247. package/docs/content/agent-teams.md +32 -0
  248. package/docs/content/blueprint-installer.md +73 -0
  249. package/docs/content/durable-resume.md +49 -0
  250. package/docs/content/evals.md +141 -0
  251. package/docs/content/external-agents.md +2 -2
  252. package/docs/content/human-approval.md +101 -0
  253. package/docs/content/observability.md +21 -0
  254. package/docs/content/observational-memory.md +63 -0
  255. package/docs/content/plan-plugin.md +5 -0
  256. package/docs/content/pr-visual-recap.md +9 -5
  257. package/docs/content/processors.md +99 -0
  258. package/docs/content/sandbox-adapters.md +134 -0
  259. package/docs/content/template-plan.md +97 -21
  260. package/package.json +10 -1
  261. package/src/templates/default/.agents/skills/actions/SKILL.md +52 -1
  262. package/src/templates/default/.agents/skills/security/SKILL.md +22 -0
  263. package/src/templates/workspace-core/.agents/skills/actions/SKILL.md +52 -1
  264. package/src/templates/workspace-core/.agents/skills/external-agents/SKILL.md +16 -4
  265. package/src/templates/workspace-core/.agents/skills/harness-agents/SKILL.md +20 -0
  266. package/src/templates/workspace-core/.agents/skills/observability/SKILL.md +31 -0
  267. package/src/templates/workspace-core/.agents/skills/security/SKILL.md +22 -0
@@ -21,7 +21,7 @@ Usage:
21
21
  npx @agent-native/core@latest skills list
22
22
  npx @agent-native/core@latest skills status [assets|design-exploration|visual-plan|visual-recap|context-xray] [--client codex|claude-code|pi|all] [--scope user|project] [--json]
23
23
  npx @agent-native/core@latest skills update [assets|design-exploration|visual-plan|visual-recap|context-xray] [--client codex|claude-code|pi|all] [--scope user|project] [--dry-run] [--json]
24
- npx @agent-native/core@latest skills add assets|design-exploration|visual-plan|visual-recap|context-xray [--client codex|claude-code|claude-code-cli|cowork|cursor|opencode|github-copilot|all] [--scope user|project] [--mode hosted|local-files|self-hosted] [--mcp-url <url>] [--no-connect] [--with-github-action] [--yes] [--dry-run] [--json]
24
+ npx @agent-native/core@latest skills add assets|design-exploration|visual-plan|visual-recap|context-xray [--client codex|claude-code|cowork|cursor|opencode|github-copilot|all] [--scope user|project] [--mode hosted|local-files|self-hosted] [--mcp-url <url>] [--no-connect] [--with-github-action] [--yes] [--dry-run] [--json]
25
25
  npx @agent-native/core@latest skills add <manifest-or-app-dir|skill-repo> [--skill <name>] [--client ...] [--yes]
26
26
 
27
27
  Examples:
@@ -69,7 +69,7 @@ plans and recaps should live: hosted Plans for shareable links/comments, local
69
69
  files for "No sharing, all local.", or a self-hosted/custom Plan app URL.
70
70
  Pass --mode to choose directly. Local-files mode skips MCP registration and
71
71
  auth and installs instructions that default to a no-auth block catalog fetch,
72
- MDX folders, and local preview.
72
+ MDX folders, and the localhost bridge viewer.
73
73
 
74
74
  When installing visual-recap interactively, the CLI offers to add the optional PR
75
75
  Visual Recap GitHub Action. Pass --with-github-action to write it directly, then
@@ -274,10 +274,10 @@ npx @agent-native/core@latest skills add visual-plan --mode local-files
274
274
  This mode does not register the Plan MCP connector. Before authoring structured
275
275
  MDX, fetch the no-auth, schema-only block catalog with
276
276
  \`npx @agent-native/core@latest plan blocks --out plan-blocks.md\`, read that file,
277
- write \`plans/<slug>/plan.mdx\` locally, then run \`plan local preview\`. Plain
278
- text skill installs (Vercel Skills CLI, copied GitHub files, etc.) can follow
279
- that same local flow if \`@agent-native/core\` is available. Text alone cannot
280
- register MCP tools; hosted/shareable Plans still need the Agent-Native CLI
277
+ write the MDX folder locally, then run \`plan local serve\`. Plain text skill
278
+ installs (Vercel Skills CLI, copied GitHub files, etc.) can follow that same
279
+ local flow if \`@agent-native/core\` is available. Text alone cannot register
280
+ MCP tools; hosted/shareable Plans still need the Agent-Native CLI
281
281
  install/reconnect step above.
282
282
 
283
283
  **Browser (people you share with).** Open the Plans editor and create & edit
@@ -287,10 +287,10 @@ share; signing in claims the plans you made as a guest into your account.
287
287
  Sharing and commenting require an account: public/shared plans are viewable by
288
288
  anyone with the link, but commenting on them needs an agent-native account.
289
289
 
290
- For fully offline, no-account use, use local-files mode and the local preview
291
- command. The optional \`plan blocks\` lookup reads only public schema metadata; if
292
- network access is unavailable, use the bundled references and validate with
293
- \`plan local preview\`.
290
+ For no-account, no-DB plan storage, use local-files mode and the local bridge
291
+ command. The optional \`plan blocks\` lookup reads only public schema metadata.
292
+ If network access is unavailable, use the bundled references and a local Plan
293
+ app/runtime for validation.
294
294
 
295
295
  If a Plans tool returns \`needs auth\`, \`Unauthorized\`, or \`Session terminated\`,
296
296
  do not keep retrying the tool. Stop and give the user the reconnect step for the
@@ -1315,7 +1315,7 @@ skill — never hand-edit one stored plan. Turn feedback into better guidance.
1315
1315
  ## Local-Files Privacy Mode
1316
1316
 
1317
1317
  Use local-files privacy mode when the user explicitly asks for no DB writes,
1318
- no hosted Plan app, no Plan MCP publish, fully local files, offline/private
1318
+ no hosted Plan database writes, no Plan MCP publish, fully local files, offline/private
1319
1319
  planning, repo-owned/source-controlled planning artifacts, or when
1320
1320
  \`AGENT_NATIVE_PLANS_MODE=local-files\` is set. Also use it when a user or repo
1321
1321
  policy says a plan must stay under their own brand, domain, source control, or
@@ -1333,21 +1333,24 @@ The local-files contract is:
1333
1333
  \`plan blocks\` command calls the public no-auth \`get-plan-blocks\` route and
1334
1334
  writes only registry metadata to disk; use \`--format schema\` if exact nested
1335
1335
  fields are needed. If network access is unavailable, use the bundled
1336
- references and rely on \`plan local preview\` to catch invalid tags.
1337
- - Write the plan as a local MDX folder under \`plans/<slug>/\`: \`plan.mdx\`,
1338
- optional \`canvas.mdx\`, optional \`prototype.mdx\`, and optional
1339
- \`.plan-state.json\`.
1340
- - Run \`npx @agent-native/core@latest plan local preview --dir plans/<slug> --kind plan --open\`
1341
- after writing or updating the folder. Report the returned local URL or the
1342
- \`/local-plans/<slug>\` route if the local Plan app is running with the same
1343
- \`PLAN_LOCAL_DIR\`.
1336
+ references and rely on \`plan local serve\` to catch invalid tags.
1337
+ - Write the plan as a local MDX folder: use \`plans/<slug>/\` when the user
1338
+ wants the artifact checked into the repo, or use a repo-ignored/temporary
1339
+ folder such as \`.agent-native/plans/<slug>/\` or \`/tmp/agent-native-plans/<slug>/\`
1340
+ when it should not be checked in. The folder contains \`plan.mdx\`, optional
1341
+ \`canvas.mdx\`, optional \`prototype.mdx\`, and optional \`.plan-state.json\`.
1342
+ - Run \`npx @agent-native/core@latest plan local serve --dir plans/<slug> --kind plan --open\`
1343
+ after writing or updating the folder. Report the returned local bridge URL. It opens the hosted Plan UI but reads
1344
+ from the localhost bridge on this machine, so it is not shareable across
1345
+ machines. If the Plan app itself is running locally with the same
1346
+ \`PLAN_LOCAL_DIR\`, the \`/local-plans/<slug>\` route is also valid.
1344
1347
  - Do **not** call \`create-visual-plan\`, \`create-ui-plan\`,
1345
1348
  \`create-prototype-plan\`, \`create-plan-design\`, \`import-visual-plan-source\`,
1346
1349
  \`update-visual-plan\`, \`patch-visual-plan-source\`, \`get-plan-feedback\`,
1347
1350
  \`export-visual-plan\`, or any hosted Plan tool for that plan except the
1348
1351
  schema-only block catalog lookup above.
1349
1352
  - Treat feedback as file or chat feedback: update the MDX files directly, rerun
1350
- the local preview command, and summarize the new local URL/path. Hosted
1353
+ the local bridge command, and summarize the new local bridge URL. Hosted
1351
1354
  comments, sharing, history, and publish/export receipts are unavailable until
1352
1355
  the user explicitly opts into publishing.
1353
1356
 
@@ -1466,7 +1469,7 @@ before spending attention on the literal lines.
1466
1469
  ## Local-Files Privacy Mode Exception
1467
1470
 
1468
1471
  Use local-files privacy mode when the user explicitly asks for no DB writes,
1469
- no hosted Plan app, no Plan MCP publish, fully local files, offline/private
1472
+ no hosted Plan database writes, no Plan MCP publish, fully local files, offline/private
1470
1473
  recaps, or when \`AGENT_NATIVE_PLANS_MODE=local-files\` is set. This is the only
1471
1474
  exception to the hosted publish rule below.
1472
1475
 
@@ -1481,22 +1484,26 @@ In local-files mode:
1481
1484
  MCP connector is not registered; it calls the public no-auth
1482
1485
  \`get-plan-blocks\` route and sends no recap content. If network access is
1483
1486
  unavailable, use the bundled references and validate with
1484
- \`plan local preview\`.
1485
- - Write the recap as a local MDX folder under \`plans/<slug>/\`: \`plan.mdx\`,
1486
- optional \`canvas.mdx\`, optional \`prototype.mdx\`, and optional
1487
- \`.plan-state.json\`. Set \`kind: "recap"\` and \`localOnly: true\` in
1488
- frontmatter/state when authoring the source.
1489
- - Run \`npx @agent-native/core@latest plan local preview --dir plans/<slug> --kind recap --open\`
1490
- after writing or updating the folder. Report the returned local URL or the
1491
- \`/local-plans/<slug>\` route if the local Plan app is running with the same
1492
- \`PLAN_LOCAL_DIR\`.
1487
+ \`plan local serve\`.
1488
+ - Write the recap as a local MDX folder: use \`plans/<slug>/\` when the user
1489
+ wants the artifact checked into the repo, or use a repo-ignored/temporary
1490
+ folder such as \`.agent-native/plans/<slug>/\` or \`/tmp/agent-native-plans/<slug>/\`
1491
+ when it should not be checked in. The folder contains \`plan.mdx\`, optional
1492
+ \`canvas.mdx\`, optional \`prototype.mdx\`, and optional \`.plan-state.json\`. Set
1493
+ \`kind: "recap"\` and \`localOnly: true\` in frontmatter/state when authoring
1494
+ the source.
1495
+ - Run \`npx @agent-native/core@latest plan local serve --dir plans/<slug> --kind recap --open\`
1496
+ after writing or updating the folder. Report the returned local bridge URL. It opens the hosted Plan UI but reads
1497
+ from the localhost bridge on this machine, so it is not shareable across
1498
+ machines. If the Plan app itself is running locally with the same
1499
+ \`PLAN_LOCAL_DIR\`, the \`/local-plans/<slug>\` route is also valid.
1493
1500
  - Do **not** call \`create-visual-recap\`, \`create-visual-plan\`,
1494
1501
  \`import-visual-plan-source\`, \`update-visual-plan\`,
1495
1502
  \`patch-visual-plan-source\`, \`get-plan-feedback\`, \`export-visual-plan\`,
1496
1503
  \`set-resource-visibility\`, or any hosted Plan tool for that recap except the
1497
1504
  schema-only block catalog lookup above.
1498
1505
  - Treat review feedback as file or chat feedback: update the MDX files directly,
1499
- rerun the local preview command, and summarize the new local URL/path.
1506
+ rerun the local bridge command, and summarize the new local bridge URL.
1500
1507
  Hosted comments, sharing, screenshots, usage attachment, and PR sticky comment
1501
1508
  publishing are unavailable until the user explicitly opts into publishing.
1502
1509
 
@@ -1707,10 +1714,13 @@ a headless CI agent), state that in the recap handoff instead.
1707
1714
 
1708
1715
  ## Open And Report The Recap
1709
1716
 
1710
- In local-files privacy mode, report the local preview URL/path from
1711
- \`npx @agent-native/core@latest plan local preview\` or the \`/local-plans/<slug>\` route for a local
1712
- Plan app using the same \`PLAN_LOCAL_DIR\`. Do not invent a hosted URL and do not
1713
- publish just to get an absolute Plan link.
1717
+ In local-files privacy mode, report the local bridge URL from
1718
+ \`npx @agent-native/core@latest plan local serve --dir plans/<slug> --kind recap --open\`.
1719
+ It opens the hosted Plan UI but reads from the localhost bridge on this machine,
1720
+ so it is not shareable across machines. If the Plan app itself is running
1721
+ locally with the same \`PLAN_LOCAL_DIR\`, the \`/local-plans/<slug>\` route is also
1722
+ valid. Do not invent a hosted database URL and do not publish just to get an
1723
+ absolute Plan link.
1714
1724
 
1715
1725
  After creating the recap, link the reviewer to the rendered plan with an
1716
1726
  **absolute URL on the origin whose database actually holds the plan**. That
@@ -1864,7 +1874,7 @@ was installed as plain text and no MCP tools are registered, run
1864
1874
  \`npx @agent-native/core@latest plan blocks --out plan-blocks.md\` and read that
1865
1875
  file first. The CLI command calls the public no-auth \`get-plan-blocks\` route and
1866
1876
  sends no plan/recap content. If network access is unavailable, use the bundled
1867
- references and validate with \`plan local preview\`.
1877
+ references and validate with \`plan local serve\`.
1868
1878
 
1869
1879
  The catalog returns the authoritative, always-current block vocabulary generated
1870
1880
  live from the app's own block registry — the same config the renderer and MDX
@@ -2268,6 +2278,17 @@ const SKILL_INSTRUCTION_CLIENTS = [
2268
2278
  "claude-code",
2269
2279
  "pi",
2270
2280
  ];
2281
+ // Clients that don't write their own instruction files but READ the shared
2282
+ // `.agents/skills` path the codex install writes. In instructions/local-files
2283
+ // mode they resolve to that shared-agents install instead of being dropped, so
2284
+ // `--client cursor --mode local-files` (etc.) installs the skills they read
2285
+ // rather than failing with an empty client set.
2286
+ const SHARED_AGENTS_READER_CLIENTS = new Set([
2287
+ "cursor",
2288
+ "opencode",
2289
+ "github-copilot",
2290
+ "cowork",
2291
+ ]);
2271
2292
  const SKILL_INSTRUCTION_CLIENT_LABELS = {
2272
2293
  "claude-code": "Claude Code",
2273
2294
  "claude-code-cli": "Claude Code",
@@ -2347,13 +2368,16 @@ function planModeInstructionBlock(input) {
2347
2368
  return `## Installed Mode
2348
2369
 
2349
2370
  Default storage for this installation: local files. Create and update plans and
2350
- recaps as MDX folders under \`plans/<slug>/\`. Before authoring structured MDX,
2351
- run \`npx @agent-native/core@latest plan blocks --out plan-blocks.md\` and read
2352
- the no-auth block catalog; it sends no plan content. Then run
2353
- \`npx @agent-native/core@latest plan local preview --dir plans/<slug> --kind plan|recap --open\`,
2354
- and report the local preview URL or path. No sharing, all local. Use a hosted
2355
- or self-hosted Plan MCP connector only if the user explicitly asks to publish or
2356
- share.`;
2371
+ recaps as MDX folders under \`plans/<slug>/\` when they should be checked in, or
2372
+ under a repo-ignored/temp folder when they should stay private scratch. Before
2373
+ authoring structured MDX, run
2374
+ \`npx @agent-native/core@latest plan blocks --out plan-blocks.md\` and read the
2375
+ no-auth block catalog; it sends no plan content. Then run
2376
+ \`npx @agent-native/core@latest plan local serve --dir plans/<slug> --kind plan|recap --open\`,
2377
+ and report the local bridge URL. It opens the hosted Plan UI but reads from the
2378
+ localhost bridge on this machine, so it is not shareable across machines. No
2379
+ sharing, all local. Use a hosted or self-hosted Plan MCP connector only if the
2380
+ user explicitly asks to publish or share.`;
2357
2381
  }
2358
2382
  if (input.mode === "self-hosted") {
2359
2383
  return `## Installed Mode
@@ -2790,7 +2814,21 @@ function filterSkillsClients(clients, installsMcp) {
2790
2814
  if (installsMcp) {
2791
2815
  return clients.filter((client) => isMcpClientId(client) && SKILLS_CLIENTS.includes(client));
2792
2816
  }
2793
- return clients.filter((client) => SKILL_INSTRUCTION_CLIENTS.includes(client));
2817
+ // Instructions/local-files mode: keep the first-class instruction writers, and
2818
+ // map shared-`.agents` readers (cursor/opencode/github-copilot/cowork) onto
2819
+ // the shared-agents install (codex) so they install the skills they read
2820
+ // rather than being silently dropped to an empty set.
2821
+ const out = [];
2822
+ for (const client of clients) {
2823
+ const resolved = SKILL_INSTRUCTION_CLIENTS.includes(client)
2824
+ ? client
2825
+ : SHARED_AGENTS_READER_CLIENTS.has(client)
2826
+ ? "codex"
2827
+ : undefined;
2828
+ if (resolved && !out.includes(resolved))
2829
+ out.push(resolved);
2830
+ }
2831
+ return out;
2794
2832
  }
2795
2833
  function clientPromptOptions(installsMcp) {
2796
2834
  return skillsClients(installsMcp).map((client) => ({
@@ -2806,16 +2844,6 @@ function clientPromptOptions(installsMcp) {
2806
2844
  const DEFAULT_PUBLIC_SKILLS_SOURCE = "BuilderIO/skills";
2807
2845
  const PUBLIC_SKILL_TARGET_PREFIX = "public-skills:";
2808
2846
  const BUILT_IN_SKILL_PROMPT_OPTIONS = [
2809
- {
2810
- value: "assets",
2811
- label: "assets",
2812
- hint: BUILT_IN_APP_SKILLS.assets.manifest.description,
2813
- },
2814
- {
2815
- value: "design-exploration",
2816
- label: "design-exploration",
2817
- hint: BUILT_IN_APP_SKILLS.design.manifest.description,
2818
- },
2819
2847
  {
2820
2848
  value: "visual-plan",
2821
2849
  label: "visual-plan",
@@ -2826,6 +2854,16 @@ const BUILT_IN_SKILL_PROMPT_OPTIONS = [
2826
2854
  label: "visual-recap",
2827
2855
  hint: "Interactive visual recap that maps PRs/diffs with diagrams, annotated diffs, API/schema summaries, and review notes.",
2828
2856
  },
2857
+ {
2858
+ value: "assets",
2859
+ label: "assets",
2860
+ hint: BUILT_IN_APP_SKILLS.assets.manifest.description,
2861
+ },
2862
+ {
2863
+ value: "design-exploration",
2864
+ label: "design-exploration",
2865
+ hint: BUILT_IN_APP_SKILLS.design.manifest.description,
2866
+ },
2829
2867
  {
2830
2868
  value: "context-xray",
2831
2869
  label: "context-xray",
@@ -2875,10 +2913,8 @@ function skillPromptOptions(options = {}) {
2875
2913
  ];
2876
2914
  }
2877
2915
  function defaultSkillPromptTargets(options) {
2878
- return [
2879
- ...DEFAULT_SKILL_PROMPT_TARGETS,
2880
- ...publicSkillEntries(options).map((entry) => entry.name),
2881
- ];
2916
+ const available = new Set(skillPromptOptions(options).map((entry) => entry.value));
2917
+ return DEFAULT_SKILL_PROMPT_TARGETS.filter((target) => available.has(target));
2882
2918
  }
2883
2919
  function publicSkillSelectionTarget(skillNames) {
2884
2920
  return `${PUBLIC_SKILL_TARGET_PREFIX}${skillNames.join(",")}`;
@@ -2983,13 +3019,13 @@ async function promptForPlanMode(context) {
2983
3019
  options: [
2984
3020
  {
2985
3021
  value: "hosted",
2986
- label: "Hosted Plans, shareable links (recommended)",
2987
- hint: "100% free and open source. Stores plans at plan.agent-native.com with sharing, comments, and browser editor. Requires one-time browser sign-in.",
3022
+ label: "Hosted plans, shareable links",
3023
+ hint: "Recommended. 100% free and open source. Stores plans at plan.agent-native.com with sharing, comments, and browser editor. Requires one-time browser sign-in.",
2988
3024
  },
2989
3025
  {
2990
3026
  value: "local-files",
2991
3027
  label: "Local files only",
2992
- hint: "Writes plans/<name>/plan.mdx in this repo and opens a local preview. No sharing, all local.",
3028
+ hint: "Writes local MDX, starts a localhost bridge, and opens the hosted Plan UI. No sharing, all local.",
2993
3029
  },
2994
3030
  {
2995
3031
  value: "self-hosted",
@@ -3605,7 +3641,7 @@ async function addPlainSkillRepo(parsed, options) {
3605
3641
  if (skillsAgents.length === 0) {
3606
3642
  throw new Error("Plain skill repositories install through shared .agents for Codex, Pi, Cursor, OpenCode, Copilot, and similar agents, or Claude Code's native files.");
3607
3643
  }
3608
- const args = agentNativeSkillsInstallArgs(parsed, target, clients, options.baseDir);
3644
+ const args = agentNativeSkillsInstallArgs(parsed, target, skillsAgents, options.baseDir);
3609
3645
  if (!parsed.dryRun) {
3610
3646
  const code = await (options.runCommand ?? runCommand)("npx", args, {
3611
3647
  stdio: "silent",
@@ -4500,6 +4536,16 @@ export async function runSkills(argv, options = {}) {
4500
4536
  : "",
4501
4537
  ].filter(Boolean);
4502
4538
  clack.note(summary.join("\n"), `Installed ${installedNames} skill${results.length === 1 ? "" : "s"}`);
4539
+ // OAuth clients (Claude Code) can finish auth in-host via /mcp, not only by
4540
+ // running the connect command — surface that on the no-connect/pending path
4541
+ // so a hosted install isn't left looking "done but unauthenticated".
4542
+ if (!authConnected &&
4543
+ mcpClients.some((client) => client === "claude-code" || client === "claude-code-cli")) {
4544
+ clack.log.info("Claude Code: reload the client, then open /mcp and choose Authenticate to finish connecting" +
4545
+ (pendingConnectCommands.length
4546
+ ? " (or run the connect command above)."
4547
+ : "."));
4548
+ }
4503
4549
  // GitHub Action follow-ups — kept as exact, copy-pasteable command lines.
4504
4550
  for (const line of [githubActionLine, githubActionSuggestionLine].filter(Boolean)) {
4505
4551
  clack.log.info(line);