@agent-native/core 0.114.5 → 0.114.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/corpus/README.md +2 -2
- package/corpus/core/CHANGELOG.md +14 -0
- package/corpus/core/package.json +1 -1
- package/corpus/core/src/cli/mcp-config-writers.ts +6 -4
- package/corpus/core/src/cli/mcp.ts +124 -0
- package/corpus/core/src/cli/skills-content/help.ts +4 -3
- package/corpus/core/src/cli/skills-content/index.ts +1 -0
- package/corpus/core/src/cli/skills-content/rewind-skill.ts +52 -0
- package/corpus/core/src/cli/skills.ts +115 -13
- package/corpus/core/src/client/resources/ResourceTree.tsx +11 -5
- package/corpus/core/src/client/resources/ResourcesPanel.tsx +141 -18
- package/corpus/core/src/mcp/screen-memory-stdio.ts +1360 -104
- package/corpus/core/src/mcp-client/index.ts +9 -0
- package/corpus/core/src/mcp-client/screen-memory-local.ts +847 -13
- package/corpus/templates/clips/actions/apply-rewind-extension.ts +195 -0
- package/corpus/templates/clips/actions/delete-agent-recording-if-unpromoted.ts +64 -0
- package/corpus/templates/clips/actions/get-rewind-extension-request.ts +22 -0
- package/corpus/templates/clips/actions/get-screen-memory-status.ts +18 -2
- package/corpus/templates/clips/actions/list-rewind-extension-requests.ts +52 -0
- package/corpus/templates/clips/actions/make-recording-private-for-rewind.ts +55 -0
- package/corpus/templates/clips/actions/query-screen-memory-context.ts +4 -4
- package/corpus/templates/clips/actions/request-rewind-extension.ts +81 -0
- package/corpus/templates/clips/actions/update-rewind-extension-request.ts +47 -0
- package/corpus/templates/clips/app/components/editor/editor-layout.tsx +25 -0
- package/corpus/templates/clips/app/components/editor/editor-toolbar.tsx +36 -0
- package/corpus/templates/clips/app/components/editor/rewind-extension-dialog.tsx +338 -0
- package/corpus/templates/clips/app/components/editor/stitch-manager.tsx +1 -16
- package/corpus/templates/clips/app/components/editor/timeline.tsx +26 -0
- package/corpus/templates/clips/app/components/meetings/meeting-card.tsx +1 -2
- package/corpus/templates/clips/app/i18n/en-US.ts +18 -0
- package/corpus/templates/clips/app/lib/ffmpeg-export.ts +19 -12
- package/corpus/templates/clips/app/lib/rewind-visibility.ts +31 -0
- package/corpus/templates/clips/app/lib/timestamp-mapping.ts +7 -0
- package/corpus/templates/clips/app/lib/upload-file-client.ts +17 -0
- package/corpus/templates/clips/changelog/2026-07-14-rewind-keeps-recent-screen-context-local-and-turns-it-into-clips.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-17-active-clips-keep-rewind-stable-and-settings-clear.md +12 -0
- package/corpus/templates/clips/changelog/2026-07-17-clicking-the-clips-icon-during-a-recording-now-opens-the-app.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-17-default-mic-now-uses-the-mac-default-and-transcription-shares-one-capture.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-17-full-screen-clips-finalize-even-when-screencapturekit-stop-hangs.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-17-normal-full-screen-clips-no-longer-stop-immediately-after-th.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-17-rewind-can-hand-one-bounded-private-clip-to-your-agent.md +12 -0
- package/corpus/templates/clips/changelog/2026-07-17-rewind-home-can-copy-a-local-agent-prompt.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-17-rewind-now-has-a-calm-home-status-focused-first-run-consent-.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-17-rewind-settings-are-smaller-clearer-and-agent-first.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-17-the-full-clips-interface-stays-available-while-recording.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-18-rewind-organizes-recent-work-into-local-searchable-chapters.md +8 -0
- package/corpus/templates/clips/changelog/2026-07-18-searchable-rewind-chapters.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-19-rewind-backed-recordings-now-start-immediately-after-the-cou.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-20-opening-zoom-meeting-launches-native-app.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-20-rewind-can-set-up-your-local-agent-once-so-future-requests-w.md +6 -0
- package/corpus/templates/clips/desktop/package.json +1 -0
- package/corpus/templates/clips/desktop/scripts/sign-macos-local.ts +12 -1
- package/corpus/templates/clips/desktop/src/app.tsx +2478 -223
- package/corpus/templates/clips/desktop/src/components/ReadinessPanel.tsx +21 -1
- package/corpus/templates/clips/desktop/src/components/Switch.tsx +3 -0
- package/corpus/templates/clips/desktop/src/hooks/useMeetingTranscription.ts +156 -24
- package/corpus/templates/clips/desktop/src/lib/native-recording-warm.ts +6 -7
- package/corpus/templates/clips/desktop/src/lib/open-meeting-join-url.ts +22 -0
- package/corpus/templates/clips/desktop/src/lib/recorder.ts +1763 -1160
- package/corpus/templates/clips/desktop/src/lib/rewind-agent-prompt.ts +9 -0
- package/corpus/templates/clips/desktop/src/lib/rewind-recording-start.ts +20 -0
- package/corpus/templates/clips/desktop/src/main.tsx +3 -0
- package/corpus/templates/clips/desktop/src/overlays/countdown.tsx +14 -14
- package/corpus/templates/clips/desktop/src/overlays/meeting-notification.tsx +2 -3
- package/corpus/templates/clips/desktop/src/overlays/onboarding.tsx +4 -4
- package/corpus/templates/clips/desktop/src/overlays/preparing.tsx +13 -0
- package/corpus/templates/clips/desktop/src/overlays/toolbar.tsx +27 -2
- package/corpus/templates/clips/desktop/src/shared/config.ts +16 -0
- package/corpus/templates/clips/desktop/src/styles.css +956 -134
- package/corpus/templates/clips/desktop/src-tauri/Cargo.toml +5 -0
- package/corpus/templates/clips/desktop/src-tauri/build.rs +69 -1
- package/corpus/templates/clips/desktop/src-tauri/src/accessibility.rs +386 -12
- package/corpus/templates/clips/desktop/src-tauri/src/capture_audio_bus.rs +382 -0
- package/corpus/templates/clips/desktop/src-tauri/src/capture_graph.rs +777 -0
- package/corpus/templates/clips/desktop/src-tauri/src/clips/mod.rs +249 -22
- package/corpus/templates/clips/desktop/src-tauri/src/config.rs +148 -1
- package/corpus/templates/clips/desktop/src-tauri/src/lib.rs +58 -4
- package/corpus/templates/clips/desktop/src-tauri/src/logfile.rs +13 -1
- package/corpus/templates/clips/desktop/src-tauri/src/native_screen/custom_capture.rs +1505 -51
- package/corpus/templates/clips/desktop/src-tauri/src/native_screen/live_upload.rs +124 -0
- package/corpus/templates/clips/desktop/src-tauri/src/native_screen.rs +1006 -95
- package/corpus/templates/clips/desktop/src-tauri/src/rewind_capture_suspension.rs +165 -0
- package/corpus/templates/clips/desktop/src-tauri/src/rewind_chapters.rs +2434 -0
- package/corpus/templates/clips/desktop/src-tauri/src/rewind_clip.rs +1650 -0
- package/corpus/templates/clips/desktop/src-tauri/src/rewind_egress.rs +643 -0
- package/corpus/templates/clips/desktop/src-tauri/src/rewind_local_ask.rs +803 -0
- package/corpus/templates/clips/desktop/src-tauri/src/rewind_meeting_history.rs +595 -0
- package/corpus/templates/clips/desktop/src-tauri/src/screen_memory.rs +2900 -91
- package/corpus/templates/clips/desktop/src-tauri/src/screen_memory_ocr.rs +360 -0
- package/corpus/templates/clips/desktop/src-tauri/src/screen_memory_transcript.rs +408 -0
- package/corpus/templates/clips/desktop/src-tauri/src/shortcuts.rs +114 -33
- package/corpus/templates/clips/desktop/src-tauri/src/state.rs +2 -2
- package/corpus/templates/clips/desktop/src-tauri/src/system_audio.rs +13 -3
- package/corpus/templates/clips/desktop/src-tauri/src/tray.rs +4 -1
- package/corpus/templates/clips/desktop/src-tauri/src/util.rs +7 -13
- package/corpus/templates/clips/desktop/src-tauri/src/whisper_speech.rs +198 -11
- package/corpus/templates/clips/desktop/src-tauri/tauri.alpha.conf.json +17 -0
- package/corpus/templates/clips/shared/meeting-join-url.ts +0 -5
- package/corpus/templates/content/.agents/skills/document-editing/SKILL.md +9 -1
- package/corpus/templates/content/AGENTS.md +4 -1
- package/corpus/templates/content/actions/_content-spaces.ts +6 -1
- package/corpus/templates/content/actions/_database-row-batch.ts +15 -2
- package/corpus/templates/content/actions/_database-utils.ts +83 -15
- package/corpus/templates/content/actions/add-database-item.ts +3 -0
- package/corpus/templates/content/actions/connect-local-folder-source.ts +2 -1
- package/corpus/templates/content/actions/delete-content-database.ts +12 -9
- package/corpus/templates/content/actions/delete-database-items.ts +3 -2
- package/corpus/templates/content/actions/delete-document.ts +233 -6
- package/corpus/templates/content/actions/duplicate-database-item.ts +1 -0
- package/corpus/templates/content/actions/get-document.ts +4 -1
- package/corpus/templates/content/actions/list-content-databases.ts +1 -0
- package/corpus/templates/content/actions/list-documents.ts +1 -0
- package/corpus/templates/content/actions/list-trashed-content-databases.ts +8 -2
- package/corpus/templates/content/actions/list-trashed-documents.ts +50 -0
- package/corpus/templates/content/actions/permanently-delete-document.ts +28 -0
- package/corpus/templates/content/actions/pull-document.ts +15 -2
- package/corpus/templates/content/actions/restore-content-database.ts +48 -11
- package/corpus/templates/content/actions/restore-document.ts +28 -0
- package/corpus/templates/content/actions/search-documents.ts +2 -1
- package/corpus/templates/content/actions/view-screen.ts +2 -1
- package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +149 -55
- package/corpus/templates/content/app/components/editor/database/GalleryView.tsx +7 -2
- package/corpus/templates/content/app/components/editor/database/ListView.tsx +7 -2
- package/corpus/templates/content/app/components/editor/database/TimelineView.tsx +3 -0
- package/corpus/templates/content/app/components/editor/database/sidebar.tsx +26 -5
- package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +243 -163
- package/corpus/templates/content/app/components/sidebar/WorkspaceSourceMenu.tsx +154 -0
- package/corpus/templates/content/app/components/sidebar/select-content-space.ts +11 -0
- package/corpus/templates/content/app/hooks/use-content-database.ts +6 -0
- package/corpus/templates/content/app/hooks/use-documents.ts +57 -0
- package/corpus/templates/content/app/i18n-data.ts +83 -2
- package/corpus/templates/content/app/routes/_app.local-files.tsx +8 -1
- package/corpus/templates/content/changelog/2026-07-19-pages-now-move-to-a-reversible-trash-and-the-organization-pi.md +6 -0
- package/corpus/templates/content/changelog/2026-07-20-trash-actions-now-preserve-independent-archived-pages-enforc.md +6 -0
- package/corpus/templates/content/changelog/2026-07-20-workspace-toggles-now-stay-independently-open-or-closed-and-.md +6 -0
- package/corpus/templates/content/changelog/2026-07-20-workspaces-can-be-added-from-a-blank-workspace-or-a-connecte.md +6 -0
- package/corpus/templates/content/parity/matrix.md +1 -1
- package/corpus/templates/content/parity/matrix.ts +3 -0
- package/corpus/templates/content/server/db/schema.ts +2 -0
- package/corpus/templates/content/server/lib/public-documents.ts +8 -2
- package/corpus/templates/content/server/plugins/db.ts +52 -0
- package/corpus/templates/content/server/routes/api/document-agent-context.json.get.ts +2 -2
- package/corpus/templates/content/shared/api.ts +10 -0
- package/corpus/toolkit/CHANGELOG.md +6 -0
- package/corpus/toolkit/package.json +1 -1
- package/corpus/toolkit/src/ui/progress.tsx +3 -2
- package/dist/cli/mcp-config-writers.d.ts +2 -2
- package/dist/cli/mcp-config-writers.d.ts.map +1 -1
- package/dist/cli/mcp-config-writers.js +6 -6
- package/dist/cli/mcp-config-writers.js.map +1 -1
- package/dist/cli/mcp.d.ts +14 -0
- package/dist/cli/mcp.d.ts.map +1 -1
- package/dist/cli/mcp.js +79 -0
- package/dist/cli/mcp.js.map +1 -1
- package/dist/cli/skills-content/help.d.ts +1 -1
- package/dist/cli/skills-content/help.d.ts.map +1 -1
- package/dist/cli/skills-content/help.js +4 -3
- package/dist/cli/skills-content/help.js.map +1 -1
- package/dist/cli/skills-content/index.d.ts +1 -0
- package/dist/cli/skills-content/index.d.ts.map +1 -1
- package/dist/cli/skills-content/index.js +1 -0
- package/dist/cli/skills-content/index.js.map +1 -1
- package/dist/cli/skills-content/rewind-skill.d.ts +2 -0
- package/dist/cli/skills-content/rewind-skill.d.ts.map +1 -0
- package/dist/cli/skills-content/rewind-skill.js +53 -0
- package/dist/cli/skills-content/rewind-skill.js.map +1 -0
- package/dist/cli/skills.d.ts +6 -0
- package/dist/cli/skills.d.ts.map +1 -1
- package/dist/cli/skills.js +90 -14
- package/dist/cli/skills.js.map +1 -1
- package/dist/client/resources/ResourceTree.d.ts +3 -1
- package/dist/client/resources/ResourceTree.d.ts.map +1 -1
- package/dist/client/resources/ResourceTree.js +4 -4
- package/dist/client/resources/ResourceTree.js.map +1 -1
- package/dist/client/resources/ResourcesPanel.d.ts.map +1 -1
- package/dist/client/resources/ResourcesPanel.js +55 -6
- package/dist/client/resources/ResourcesPanel.js.map +1 -1
- package/dist/collab/routes.d.ts +1 -1
- package/dist/collab/struct-routes.d.ts +1 -1
- package/dist/mcp/screen-memory-stdio.d.ts +365 -0
- package/dist/mcp/screen-memory-stdio.d.ts.map +1 -1
- package/dist/mcp/screen-memory-stdio.js +1014 -91
- package/dist/mcp/screen-memory-stdio.js.map +1 -1
- package/dist/mcp-client/index.d.ts +1 -1
- package/dist/mcp-client/index.d.ts.map +1 -1
- package/dist/mcp-client/index.js +1 -1
- package/dist/mcp-client/index.js.map +1 -1
- package/dist/mcp-client/screen-memory-local.d.ts +90 -0
- package/dist/mcp-client/screen-memory-local.d.ts.map +1 -1
- package/dist/mcp-client/screen-memory-local.js +590 -12
- package/dist/mcp-client/screen-memory-local.js.map +1 -1
- package/dist/notifications/routes.d.ts +2 -2
- package/dist/observability/routes.d.ts +5 -5
- package/dist/progress/routes.d.ts +1 -1
- package/dist/provider-api/actions/provider-api.d.ts +4 -4
- package/dist/resources/handlers.d.ts +1 -1
- package/dist/secrets/routes.d.ts +9 -9
- package/dist/server/transcribe-voice.d.ts +1 -1
- package/package.json +2 -2
- package/src/cli/mcp-config-writers.ts +6 -4
- package/src/cli/mcp.ts +124 -0
- package/src/cli/skills-content/help.ts +4 -3
- package/src/cli/skills-content/index.ts +1 -0
- package/src/cli/skills-content/rewind-skill.ts +52 -0
- package/src/cli/skills.ts +115 -13
- package/src/client/resources/ResourceTree.tsx +11 -5
- package/src/client/resources/ResourcesPanel.tsx +141 -18
- package/src/mcp/screen-memory-stdio.ts +1360 -104
- package/src/mcp-client/index.ts +9 -0
- package/src/mcp-client/screen-memory-local.ts +847 -13
package/dist/cli/skills.js
CHANGED
|
@@ -14,9 +14,10 @@ import { buildAppSkillPack, ensureAppSkill, loadAppSkillManifest, normalizeAppSk
|
|
|
14
14
|
import { resolveClients, runConnect, writeConnectClientPreferences, } from "./connect.js";
|
|
15
15
|
import { CONTEXT_XRAY_SKILL_MD, installLocalContextXray, } from "./context-xray-local.js";
|
|
16
16
|
import { CLIENTS } from "./mcp-config-writers.js";
|
|
17
|
+
import { installScreenMemoryForClient, resolveScreenMemoryStoreDir, } from "./mcp.js";
|
|
17
18
|
import { PR_VISUAL_RECAP_SETUP, writePrVisualRecapWorkflow } from "./recap.js";
|
|
18
19
|
import { setupAgentSymlinks } from "./setup-agents.js";
|
|
19
|
-
import { ASSETS_SKILL_MD, CANVAS_REFERENCE_MD, CONNECTION_REFERENCE_MD, CONTENT_SKILL_MD, DESIGN_EXPLORATION_SKILL_MD, DESIGN_VISUAL_EDIT_SKILL_MD, DOCUMENT_QUALITY_REFERENCE_MD, EXEMPLAR_REFERENCE_MD, HELP, LOCAL_FILES_REFERENCE_MD, VISUAL_PLANS_SKILL_MD, VISUAL_RECAP_SKILL_MD, VISUALIZE_REPO_SKILL_MD, WIREFRAME_REFERENCE_MD, } from "./skills-content/index.js";
|
|
20
|
+
import { ASSETS_SKILL_MD, CANVAS_REFERENCE_MD, CONNECTION_REFERENCE_MD, CONTENT_SKILL_MD, DESIGN_EXPLORATION_SKILL_MD, DESIGN_VISUAL_EDIT_SKILL_MD, DOCUMENT_QUALITY_REFERENCE_MD, EXEMPLAR_REFERENCE_MD, HELP, LOCAL_FILES_REFERENCE_MD, REWIND_SKILL_MD, VISUAL_PLANS_SKILL_MD, VISUAL_RECAP_SKILL_MD, VISUALIZE_REPO_SKILL_MD, WIREFRAME_REFERENCE_MD, } from "./skills-content/index.js";
|
|
20
21
|
import { createCliTelemetry } from "./telemetry.js";
|
|
21
22
|
export { CANVAS_REFERENCE_MD, CONNECTION_REFERENCE_MD, DOCUMENT_QUALITY_REFERENCE_MD, EXEMPLAR_REFERENCE_MD, LOCAL_FILES_REFERENCE_MD, VISUAL_PLANS_SKILL_MD, VISUAL_RECAP_SKILL_MD, VISUALIZE_REPO_SKILL_MD, WIREFRAME_REFERENCE_MD, };
|
|
22
23
|
export const BUILT_IN_APP_SKILLS = {
|
|
@@ -111,6 +112,38 @@ export const BUILT_IN_APP_SKILLS = {
|
|
|
111
112
|
}),
|
|
112
113
|
skillMarkdown: CONTENT_SKILL_MD,
|
|
113
114
|
},
|
|
115
|
+
rewind: {
|
|
116
|
+
skillName: "rewind",
|
|
117
|
+
screenMemoryMcp: true,
|
|
118
|
+
manifest: normalizeAppSkillManifest({
|
|
119
|
+
schemaVersion: 1,
|
|
120
|
+
id: "rewind",
|
|
121
|
+
displayName: "Rewind",
|
|
122
|
+
description: "Retrieve recent local Clips screen memory, chapters, transcripts, and exact frames through a privacy-preserving agent workflow.",
|
|
123
|
+
hosted: {
|
|
124
|
+
url: "https://clips.agent-native.com",
|
|
125
|
+
mcpUrl: "https://clips.agent-native.com/mcp",
|
|
126
|
+
},
|
|
127
|
+
mcp: { serverName: "clips-screen-memory" },
|
|
128
|
+
auth: { mode: "none" },
|
|
129
|
+
surfaces: [
|
|
130
|
+
{
|
|
131
|
+
id: "rewind-memory",
|
|
132
|
+
path: "/",
|
|
133
|
+
description: "Search and inspect the user's local Clips Rewind memory through a bounded local MCP broker.",
|
|
134
|
+
},
|
|
135
|
+
],
|
|
136
|
+
skills: [
|
|
137
|
+
{
|
|
138
|
+
path: "skills/rewind",
|
|
139
|
+
visibility: "exported",
|
|
140
|
+
exportAs: "rewind",
|
|
141
|
+
},
|
|
142
|
+
],
|
|
143
|
+
hostAdapters: ["plain-skill", "claude-skill", "generic-mcp"],
|
|
144
|
+
}),
|
|
145
|
+
skillMarkdown: REWIND_SKILL_MD,
|
|
146
|
+
},
|
|
114
147
|
design: {
|
|
115
148
|
skillName: "design-exploration",
|
|
116
149
|
extraSkills: {
|
|
@@ -301,6 +334,10 @@ const BUILT_IN_APP_SKILL_ALIASES = {
|
|
|
301
334
|
"local-content": "content",
|
|
302
335
|
"content-local-files": "content",
|
|
303
336
|
"agent-native-content": "content",
|
|
337
|
+
rewind: "rewind",
|
|
338
|
+
"screen-memory": "rewind",
|
|
339
|
+
"clips-rewind": "rewind",
|
|
340
|
+
"agent-native-rewind": "rewind",
|
|
304
341
|
design: "design",
|
|
305
342
|
"ui-design": "design",
|
|
306
343
|
"ux-design": "design",
|
|
@@ -342,6 +379,7 @@ const BUILT_IN_APP_SKILL_DISPLAY_ALIASES = {
|
|
|
342
379
|
"content-local-files",
|
|
343
380
|
"agent-native-content",
|
|
344
381
|
],
|
|
382
|
+
rewind: ["screen-memory", "clips-rewind", "agent-native-rewind"],
|
|
345
383
|
design: [
|
|
346
384
|
"design-exploration",
|
|
347
385
|
"visual-edit",
|
|
@@ -431,6 +469,9 @@ function isKnownSkill(value) {
|
|
|
431
469
|
function isLocalOnlyBuiltInSkill(entry) {
|
|
432
470
|
return Boolean(entry && "localOnly" in entry && entry.localOnly);
|
|
433
471
|
}
|
|
472
|
+
function isScreenMemoryMcpBuiltInSkill(entry) {
|
|
473
|
+
return Boolean(entry && "screenMemoryMcp" in entry && entry.screenMemoryMcp);
|
|
474
|
+
}
|
|
434
475
|
function targetSupportsInstallMode(targetId) {
|
|
435
476
|
return targetId === "visual-plans" || targetId === "content";
|
|
436
477
|
}
|
|
@@ -597,6 +638,7 @@ function skillFilesForBuiltIn(appSkillId, options = {}) {
|
|
|
597
638
|
displayName: entry.manifest.displayName,
|
|
598
639
|
skillName,
|
|
599
640
|
mcpUrl: isLocalOnlyBuiltInSkill(entry) ||
|
|
641
|
+
isScreenMemoryMcpBuiltInSkill(entry) ||
|
|
600
642
|
localFilesModeSkipsMcp(appSkillId, options.planMode)
|
|
601
643
|
? ""
|
|
602
644
|
: (options.mcpUrl ?? entry.manifest.hosted.mcpUrl),
|
|
@@ -775,11 +817,10 @@ function writeContentLocalFilesManifest(baseDir, options = {}) {
|
|
|
775
817
|
function builtInSkillsRootForAgent(agent, scope, baseDir) {
|
|
776
818
|
const home = homeDir() ?? baseDir;
|
|
777
819
|
if (scope === "project") {
|
|
778
|
-
if (agent === "
|
|
779
|
-
return path.join(baseDir, ".
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
return path.join(baseDir, ".claude", "skills");
|
|
820
|
+
if (agent === "claude-code" || agent === "claude-code-cli") {
|
|
821
|
+
return path.join(baseDir, ".claude", "skills");
|
|
822
|
+
}
|
|
823
|
+
return path.join(baseDir, ".agents", "skills");
|
|
783
824
|
}
|
|
784
825
|
if (agent === "codex") {
|
|
785
826
|
return process.env.CODEX_HOME
|
|
@@ -789,6 +830,11 @@ function builtInSkillsRootForAgent(agent, scope, baseDir) {
|
|
|
789
830
|
if (agent === "pi") {
|
|
790
831
|
return path.join(home, ".agents", "skills");
|
|
791
832
|
}
|
|
833
|
+
if (agent === "cursor" ||
|
|
834
|
+
agent === "opencode" ||
|
|
835
|
+
agent === "github-copilot") {
|
|
836
|
+
return path.join(home, ".agents", "skills");
|
|
837
|
+
}
|
|
792
838
|
return path.join(home, ".claude", "skills");
|
|
793
839
|
}
|
|
794
840
|
function builtInCommandsRootForAgent(agent, scope, baseDir) {
|
|
@@ -1498,6 +1544,11 @@ const BUILT_IN_SKILL_PROMPT_OPTIONS = [
|
|
|
1498
1544
|
label: "content",
|
|
1499
1545
|
hint: BUILT_IN_APP_SKILLS.content.manifest.description,
|
|
1500
1546
|
},
|
|
1547
|
+
{
|
|
1548
|
+
value: "rewind",
|
|
1549
|
+
label: "rewind",
|
|
1550
|
+
hint: BUILT_IN_APP_SKILLS.rewind.manifest.description,
|
|
1551
|
+
},
|
|
1501
1552
|
{
|
|
1502
1553
|
value: "design-exploration",
|
|
1503
1554
|
label: "design-exploration",
|
|
@@ -2505,7 +2556,11 @@ export async function addAgentNativeSkill(parsed, options = {}) {
|
|
|
2505
2556
|
throw new Error(`Unknown skill or manifest path: ${target}. Run "npx @agent-native/core@latest skills list".`);
|
|
2506
2557
|
}
|
|
2507
2558
|
const knownBuiltIn = knownTarget ? BUILT_IN_APP_SKILLS[knownTarget] : null;
|
|
2559
|
+
const installsScreenMemoryMcp = isScreenMemoryMcpBuiltInSkill(knownBuiltIn);
|
|
2508
2560
|
const baseDir = options.baseDir ?? process.cwd();
|
|
2561
|
+
if (installsScreenMemoryMcp && parsed.mcpUrl) {
|
|
2562
|
+
throw new Error("Rewind uses the local Clips Screen Memory MCP and does not accept --mcp-url.");
|
|
2563
|
+
}
|
|
2509
2564
|
if (isLocalOnlyBuiltInSkill(knownBuiltIn)) {
|
|
2510
2565
|
if (parsed.planMode) {
|
|
2511
2566
|
throw new Error("--mode only applies to visual-plan / visual-recap / visualize-repo / content.");
|
|
@@ -2596,7 +2651,9 @@ export async function addAgentNativeSkill(parsed, options = {}) {
|
|
|
2596
2651
|
throw new Error("MCP setup supports Claude Code, Codex, Claude Cowork, Cursor, OpenCode, or GitHub Copilot / VS Code clients. Use --mode local-files or --no-mcp for Pi.");
|
|
2597
2652
|
}
|
|
2598
2653
|
installTarget = preserveMcpUrlAppPathOverride(installTarget, parsed.mcpUrl);
|
|
2599
|
-
const skillsAgents =
|
|
2654
|
+
const skillsAgents = installsScreenMemoryMcp
|
|
2655
|
+
? clients
|
|
2656
|
+
: skillsAgentsForClients(clients);
|
|
2600
2657
|
if (parsed.dryRun) {
|
|
2601
2658
|
try {
|
|
2602
2659
|
const localManifestPath = shouldWriteContentLocalFilesManifest(modeAwareTargetId, planMode)
|
|
@@ -2619,9 +2676,11 @@ export async function addAgentNativeSkill(parsed, options = {}) {
|
|
|
2619
2676
|
displayName: installTarget.displayName,
|
|
2620
2677
|
skillNames: installTarget.skillNames,
|
|
2621
2678
|
skillsAgents,
|
|
2622
|
-
mcpUrl:
|
|
2679
|
+
mcpUrl: installsScreenMemoryMcp
|
|
2623
2680
|
? ""
|
|
2624
|
-
:
|
|
2681
|
+
: localFilesModeSkipsMcp(modeAwareTargetId, planMode)
|
|
2682
|
+
? ""
|
|
2683
|
+
: installTarget.loaded.manifest.hosted.mcpUrl,
|
|
2625
2684
|
mcpClients: shouldRegisterMcp ? mcpClients : [],
|
|
2626
2685
|
dryRun: true,
|
|
2627
2686
|
commands: [
|
|
@@ -2716,7 +2775,21 @@ export async function addAgentNativeSkill(parsed, options = {}) {
|
|
|
2716
2775
|
scope: parsed.scope,
|
|
2717
2776
|
dryRun: Boolean(parsed.dryRun),
|
|
2718
2777
|
});
|
|
2719
|
-
if (shouldRegisterMcp) {
|
|
2778
|
+
if (shouldRegisterMcp && installsScreenMemoryMcp) {
|
|
2779
|
+
const screenMemoryDir = resolveScreenMemoryStoreDir();
|
|
2780
|
+
if (!screenMemoryDir) {
|
|
2781
|
+
throw new Error("No local Clips Screen Memory store was found. Turn Rewind on in Clips, then run the setup again.");
|
|
2782
|
+
}
|
|
2783
|
+
registeredMcpClients = mcpClients.map((client) => {
|
|
2784
|
+
commands.push(`npx @agent-native/core@latest mcp install-screen-memory --client ${client} --scope ${parsed.scope}`);
|
|
2785
|
+
installScreenMemoryForClient(client, screenMemoryDir, baseDir, parsed.scope);
|
|
2786
|
+
return client;
|
|
2787
|
+
});
|
|
2788
|
+
options.telemetry?.track("skills_cli mcp registered", {
|
|
2789
|
+
skills: installTarget.skillNames.join(","),
|
|
2790
|
+
});
|
|
2791
|
+
}
|
|
2792
|
+
else if (shouldRegisterMcp) {
|
|
2720
2793
|
commands.push(`npx @agent-native/core@latest app-skill ensure --manifest ${installTarget.loaded.file} --client ${parsed.client} --scope ${parsed.scope} --yes`);
|
|
2721
2794
|
if (!parsed.dryRun) {
|
|
2722
2795
|
const ensureResult = await ensureAppSkill(installTarget.loaded, {
|
|
@@ -2807,9 +2880,11 @@ export async function addAgentNativeSkill(parsed, options = {}) {
|
|
|
2807
2880
|
instructionSource,
|
|
2808
2881
|
skillNames: installTarget.skillNames,
|
|
2809
2882
|
skillsAgents,
|
|
2810
|
-
mcpUrl:
|
|
2883
|
+
mcpUrl: installsScreenMemoryMcp
|
|
2811
2884
|
? ""
|
|
2812
|
-
:
|
|
2885
|
+
: localFilesModeSkipsMcp(modeAwareTargetId, planMode)
|
|
2886
|
+
? ""
|
|
2887
|
+
: installTarget.loaded.manifest.hosted.mcpUrl,
|
|
2813
2888
|
mcpClients: registeredMcpClients,
|
|
2814
2889
|
dryRun: parsed.dryRun,
|
|
2815
2890
|
commands,
|
|
@@ -2838,10 +2913,11 @@ function listSkills(options = {}) {
|
|
|
2838
2913
|
aliases: BUILT_IN_APP_SKILL_DISPLAY_ALIASES[entry.manifest.id] ?? [],
|
|
2839
2914
|
name: entry.manifest.displayName,
|
|
2840
2915
|
description: entry.manifest.description,
|
|
2841
|
-
mcpUrl: isLocalOnlyBuiltInSkill(entry)
|
|
2916
|
+
mcpUrl: isLocalOnlyBuiltInSkill(entry) || isScreenMemoryMcpBuiltInSkill(entry)
|
|
2842
2917
|
? ""
|
|
2843
2918
|
: entry.manifest.hosted.mcpUrl,
|
|
2844
|
-
local: isLocalOnlyBuiltInSkill(entry)
|
|
2919
|
+
local: isLocalOnlyBuiltInSkill(entry) ||
|
|
2920
|
+
isScreenMemoryMcpBuiltInSkill(entry),
|
|
2845
2921
|
source: "agent-native",
|
|
2846
2922
|
})),
|
|
2847
2923
|
...publicSkillEntries(options).map((entry) => ({
|