@intent-systems/nexus 2026.1.5-3
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/CHANGELOG.md +222 -0
- package/LICENSE +21 -0
- package/README-header.png +0 -0
- package/README.md +462 -0
- package/dist/agents/agent-paths.js +16 -0
- package/dist/agents/agent-scope.js +44 -0
- package/dist/agents/auth-profiles.js +626 -0
- package/dist/agents/bash-process-registry.js +126 -0
- package/dist/agents/bash-tools.js +838 -0
- package/dist/agents/chutes-oauth.js +47 -0
- package/dist/agents/clawdbot-tools.js +62 -0
- package/dist/agents/context.js +34 -0
- package/dist/agents/defaults.js +6 -0
- package/dist/agents/memory-search.js +80 -0
- package/dist/agents/model-auth.js +115 -0
- package/dist/agents/model-catalog.js +55 -0
- package/dist/agents/model-fallback.js +210 -0
- package/dist/agents/model-scan.js +263 -0
- package/dist/agents/model-selection.js +152 -0
- package/dist/agents/models-config.js +171 -0
- package/dist/agents/nexus-tools.js +46 -0
- package/dist/agents/pi-embedded-block-chunker.js +188 -0
- package/dist/agents/pi-embedded-helpers.js +139 -0
- package/dist/agents/pi-embedded-runner.js +932 -0
- package/dist/agents/pi-embedded-subscribe.js +541 -0
- package/dist/agents/pi-embedded-utils.js +20 -0
- package/dist/agents/pi-embedded.js +1 -0
- package/dist/agents/pi-extensions/compaction-safeguard.js +140 -0
- package/dist/agents/pi-tool-definition-adapter.js +17 -0
- package/dist/agents/pi-tools.js +510 -0
- package/dist/agents/pi-tools.schema.js +358 -0
- package/dist/agents/sandbox-paths.js +68 -0
- package/dist/agents/sandbox.js +667 -0
- package/dist/agents/shell-utils.js +53 -0
- package/dist/agents/skill-runner.js +224 -0
- package/dist/agents/skill-state.js +164 -0
- package/dist/agents/skill-tools.js +191 -0
- package/dist/agents/skill-usage.js +43 -0
- package/dist/agents/skills-install.js +244 -0
- package/dist/agents/skills-status.js +157 -0
- package/dist/agents/skills.js +472 -0
- package/dist/agents/subagent-registry.js +321 -0
- package/dist/agents/subagent-registry.store.js +47 -0
- package/dist/agents/system-prompt.js +179 -0
- package/dist/agents/timeout.js +26 -0
- package/dist/agents/tool-display.js +155 -0
- package/dist/agents/tool-display.json +236 -0
- package/dist/agents/tool-images.js +138 -0
- package/dist/agents/tool-policy.js +87 -0
- package/dist/agents/tools/agent-step.js +41 -0
- package/dist/agents/tools/browser-tool.js +295 -0
- package/dist/agents/tools/canvas-tool.js +193 -0
- package/dist/agents/tools/common.js +88 -0
- package/dist/agents/tools/cron-tool.js +141 -0
- package/dist/agents/tools/discord-actions-guild.js +186 -0
- package/dist/agents/tools/discord-actions-messaging.js +313 -0
- package/dist/agents/tools/discord-actions-moderation.js +70 -0
- package/dist/agents/tools/discord-actions.js +56 -0
- package/dist/agents/tools/discord-schema.js +199 -0
- package/dist/agents/tools/discord-tool.js +16 -0
- package/dist/agents/tools/gateway-tool.js +46 -0
- package/dist/agents/tools/gateway.js +28 -0
- package/dist/agents/tools/image-tool.js +140 -0
- package/dist/agents/tools/memory-tool.js +92 -0
- package/dist/agents/tools/nodes-tool.js +413 -0
- package/dist/agents/tools/nodes-utils.js +92 -0
- package/dist/agents/tools/sessions-announce-target.js +35 -0
- package/dist/agents/tools/sessions-helpers.js +88 -0
- package/dist/agents/tools/sessions-history-tool.js +137 -0
- package/dist/agents/tools/sessions-list-tool.js +196 -0
- package/dist/agents/tools/sessions-send-helpers.js +103 -0
- package/dist/agents/tools/sessions-send-tool.js +371 -0
- package/dist/agents/tools/sessions-spawn-tool.js +319 -0
- package/dist/agents/tools/slack-actions.js +129 -0
- package/dist/agents/tools/slack-schema.js +59 -0
- package/dist/agents/tools/slack-tool.js +16 -0
- package/dist/agents/tools/telegram-actions.js +159 -0
- package/dist/agents/tools/telegram-schema.js +28 -0
- package/dist/agents/tools/telegram-tool.js +16 -0
- package/dist/agents/tools/whatsapp-login-tool.js +63 -0
- package/dist/agents/usage.js +58 -0
- package/dist/agents/workspace.js +264 -0
- package/dist/auto-reply/chunk.js +177 -0
- package/dist/auto-reply/command-auth.js +44 -0
- package/dist/auto-reply/command-detection.js +22 -0
- package/dist/auto-reply/envelope.js +30 -0
- package/dist/auto-reply/group-activation.js +20 -0
- package/dist/auto-reply/heartbeat.js +58 -0
- package/dist/auto-reply/model.js +22 -0
- package/dist/auto-reply/reply/abort.js +14 -0
- package/dist/auto-reply/reply/agent-runner.js +426 -0
- package/dist/auto-reply/reply/bash-command.js +314 -0
- package/dist/auto-reply/reply/block-streaming.js +34 -0
- package/dist/auto-reply/reply/body.js +29 -0
- package/dist/auto-reply/reply/commands.js +332 -0
- package/dist/auto-reply/reply/directive-handling.js +626 -0
- package/dist/auto-reply/reply/directives.js +59 -0
- package/dist/auto-reply/reply/dispatch-from-config.js +23 -0
- package/dist/auto-reply/reply/followup-runner.js +181 -0
- package/dist/auto-reply/reply/groups.js +152 -0
- package/dist/auto-reply/reply/mentions.js +64 -0
- package/dist/auto-reply/reply/model-selection.js +209 -0
- package/dist/auto-reply/reply/queue.js +399 -0
- package/dist/auto-reply/reply/reply-dispatcher.js +68 -0
- package/dist/auto-reply/reply/reply-tags.js +26 -0
- package/dist/auto-reply/reply/session-updates.js +103 -0
- package/dist/auto-reply/reply/session.js +169 -0
- package/dist/auto-reply/reply/typing.js +125 -0
- package/dist/auto-reply/reply.js +655 -0
- package/dist/auto-reply/send-policy.js +28 -0
- package/dist/auto-reply/status.js +197 -0
- package/dist/auto-reply/templating.js +9 -0
- package/dist/auto-reply/thinking.js +49 -0
- package/dist/auto-reply/tokens.js +2 -0
- package/dist/auto-reply/tool-meta.js +74 -0
- package/dist/auto-reply/transcription.js +57 -0
- package/dist/auto-reply/types.js +1 -0
- package/dist/browser/bridge-server.js +37 -0
- package/dist/browser/cdp.js +382 -0
- package/dist/browser/chrome.js +432 -0
- package/dist/browser/client-actions-core.js +67 -0
- package/dist/browser/client-actions-observe.js +24 -0
- package/dist/browser/client-actions-types.js +1 -0
- package/dist/browser/client-actions.js +3 -0
- package/dist/browser/client-fetch.js +43 -0
- package/dist/browser/client.js +105 -0
- package/dist/browser/config.js +155 -0
- package/dist/browser/constants.js +5 -0
- package/dist/browser/profiles-service.js +124 -0
- package/dist/browser/profiles.js +96 -0
- package/dist/browser/pw-ai.js +2 -0
- package/dist/browser/pw-session.js +144 -0
- package/dist/browser/pw-tools-core.js +363 -0
- package/dist/browser/routes/agent.js +535 -0
- package/dist/browser/routes/basic.js +155 -0
- package/dist/browser/routes/index.js +8 -0
- package/dist/browser/routes/tabs.js +105 -0
- package/dist/browser/routes/utils.js +62 -0
- package/dist/browser/screenshot.js +40 -0
- package/dist/browser/server-context.js +377 -0
- package/dist/browser/server.js +81 -0
- package/dist/browser/target-id.js +18 -0
- package/dist/browser/trash.js +21 -0
- package/dist/canvas-host/a2ui/a2ui.bundle.js +17768 -0
- package/dist/canvas-host/a2ui/index.html +246 -0
- package/dist/canvas-host/a2ui.js +187 -0
- package/dist/canvas-host/server.js +382 -0
- package/dist/channel-web.js +8 -0
- package/dist/cli/browser-cli-actions-input.js +459 -0
- package/dist/cli/browser-cli-actions-observe.js +56 -0
- package/dist/cli/browser-cli-examples.js +31 -0
- package/dist/cli/browser-cli-inspect.js +97 -0
- package/dist/cli/browser-cli-manage.js +286 -0
- package/dist/cli/browser-cli-shared.js +1 -0
- package/dist/cli/browser-cli.js +26 -0
- package/dist/cli/canvas-cli.js +416 -0
- package/dist/cli/cloud-cli.js +336 -0
- package/dist/cli/credential-cli.js +227 -0
- package/dist/cli/cron-cli.js +454 -0
- package/dist/cli/deps.js +17 -0
- package/dist/cli/dns-cli.js +180 -0
- package/dist/cli/gateway-cli.js +665 -0
- package/dist/cli/gateway-rpc.js +20 -0
- package/dist/cli/hooks-cli.js +135 -0
- package/dist/cli/memory-cli.js +101 -0
- package/dist/cli/models-cli.js +248 -0
- package/dist/cli/nodes-camera.js +57 -0
- package/dist/cli/nodes-canvas.js +26 -0
- package/dist/cli/nodes-cli.js +946 -0
- package/dist/cli/nodes-screen.js +37 -0
- package/dist/cli/pairing-cli.js +100 -0
- package/dist/cli/parse-duration.js +20 -0
- package/dist/cli/plugins-cli.js +158 -0
- package/dist/cli/ports.js +97 -0
- package/dist/cli/profile.js +81 -0
- package/dist/cli/program.js +162 -0
- package/dist/cli/prompt.js +19 -0
- package/dist/cli/run-main.js +48 -0
- package/dist/cli/skills-cli.js +132 -0
- package/dist/cli/skills-hub-cli.js +1093 -0
- package/dist/cli/telegram-cli.js +56 -0
- package/dist/cli/tool-connector-cli.js +118 -0
- package/dist/cli/tui-cli.js +35 -0
- package/dist/cli/upstream-sync-cli.js +2833 -0
- package/dist/cli/usage-cli.js +24 -0
- package/dist/cli/wait.js +8 -0
- package/dist/commands/agent-via-gateway.js +115 -0
- package/dist/commands/agent.js +665 -0
- package/dist/commands/antigravity-oauth.js +327 -0
- package/dist/commands/auth-choice-options.js +80 -0
- package/dist/commands/auth-choice.js +134 -0
- package/dist/commands/auth-token.js +31 -0
- package/dist/commands/bootstrap-preset.js +214 -0
- package/dist/commands/capabilities.js +36 -0
- package/dist/commands/chutes-oauth.js +144 -0
- package/dist/commands/claude-md.js +137 -0
- package/dist/commands/config-view.js +11 -0
- package/dist/commands/configure.js +648 -0
- package/dist/commands/credential.js +236 -0
- package/dist/commands/cursor-rules.js +230 -0
- package/dist/commands/doctor-state-migrations.js +358 -0
- package/dist/commands/doctor-ui.js +113 -0
- package/dist/commands/doctor.js +673 -0
- package/dist/commands/health.js +112 -0
- package/dist/commands/identity.js +54 -0
- package/dist/commands/init.js +167 -0
- package/dist/commands/models/aliases.js +85 -0
- package/dist/commands/models/fallbacks.js +123 -0
- package/dist/commands/models/image-fallbacks.js +123 -0
- package/dist/commands/models/list.js +347 -0
- package/dist/commands/models/scan.js +271 -0
- package/dist/commands/models/set-image.js +27 -0
- package/dist/commands/models/set.js +27 -0
- package/dist/commands/models/shared.js +73 -0
- package/dist/commands/models.js +7 -0
- package/dist/commands/onboard-auth.js +101 -0
- package/dist/commands/onboard-channels.js +814 -0
- package/dist/commands/onboard-eve-identity.js +98 -0
- package/dist/commands/onboard-github.js +153 -0
- package/dist/commands/onboard-helpers.js +303 -0
- package/dist/commands/onboard-interactive.js +17 -0
- package/dist/commands/onboard-non-interactive.js +228 -0
- package/dist/commands/onboard-providers.js +829 -0
- package/dist/commands/onboard-quickstart.js +185 -0
- package/dist/commands/onboard-remote.js +120 -0
- package/dist/commands/onboard-skills.js +148 -0
- package/dist/commands/onboard-types.js +1 -0
- package/dist/commands/onboard.js +19 -0
- package/dist/commands/openai-codex-model-default.js +38 -0
- package/dist/commands/poll.js +64 -0
- package/dist/commands/quest.js +27 -0
- package/dist/commands/reset.js +61 -0
- package/dist/commands/send.js +124 -0
- package/dist/commands/sessions-ingest.js +359 -0
- package/dist/commands/sessions.js +212 -0
- package/dist/commands/setup.js +59 -0
- package/dist/commands/signal-install.js +135 -0
- package/dist/commands/skills-manifest.js +235 -0
- package/dist/commands/status.js +139 -0
- package/dist/commands/suggestions.js +54 -0
- package/dist/commands/systemd-linger.js +71 -0
- package/dist/commands/update.js +16 -0
- package/dist/commands/usage-upload.js +27 -0
- package/dist/config/config.js +6 -0
- package/dist/config/defaults.js +140 -0
- package/dist/config/group-policy.js +49 -0
- package/dist/config/includes.js +183 -0
- package/dist/config/io.js +188 -0
- package/dist/config/legacy-migrate.js +13 -0
- package/dist/config/legacy.js +425 -0
- package/dist/config/paths.js +82 -0
- package/dist/config/port-defaults.js +32 -0
- package/dist/config/schema.js +173 -0
- package/dist/config/sessions.js +611 -0
- package/dist/config/talk.js +31 -0
- package/dist/config/types.js +1 -0
- package/dist/config/validation.js +29 -0
- package/dist/config/zod-schema.js +1110 -0
- package/dist/control-ui/assets/index-D8Q5AI4D.js +2393 -0
- package/dist/control-ui/assets/index-D8Q5AI4D.js.map +1 -0
- package/dist/control-ui/assets/index-g06q5Xc3.css +1 -0
- package/dist/control-ui/favicon.ico +0 -0
- package/dist/control-ui/index.html +16 -0
- package/dist/cron/isolated-agent.js +529 -0
- package/dist/cron/normalize.js +73 -0
- package/dist/cron/parse.js +24 -0
- package/dist/cron/run-log.js +72 -0
- package/dist/cron/schedule.js +24 -0
- package/dist/cron/service.js +471 -0
- package/dist/cron/store.js +43 -0
- package/dist/cron/types.js +1 -0
- package/dist/daemon/constants.js +10 -0
- package/dist/daemon/launchd.js +295 -0
- package/dist/daemon/legacy.js +63 -0
- package/dist/daemon/program-args.js +141 -0
- package/dist/daemon/schtasks.js +269 -0
- package/dist/daemon/service.js +69 -0
- package/dist/daemon/systemd.js +332 -0
- package/dist/discord/index.js +2 -0
- package/dist/discord/monitor.js +1089 -0
- package/dist/discord/probe.js +54 -0
- package/dist/discord/send.js +652 -0
- package/dist/discord/token.js +8 -0
- package/dist/entry.js +16 -0
- package/dist/gateway/auth.js +121 -0
- package/dist/gateway/call.js +103 -0
- package/dist/gateway/chat-attachments.js +41 -0
- package/dist/gateway/client.js +180 -0
- package/dist/gateway/config-reload.js +274 -0
- package/dist/gateway/control-ui.js +184 -0
- package/dist/gateway/hooks-mapping.js +282 -0
- package/dist/gateway/hooks.js +168 -0
- package/dist/gateway/net.js +29 -0
- package/dist/gateway/protocol/index.js +62 -0
- package/dist/gateway/protocol/schema.js +577 -0
- package/dist/gateway/server-bridge-subscriptions.js +93 -0
- package/dist/gateway/server-bridge.js +1066 -0
- package/dist/gateway/server-browser.js +11 -0
- package/dist/gateway/server-channels.js +680 -0
- package/dist/gateway/server-chat.js +159 -0
- package/dist/gateway/server-constants.js +8 -0
- package/dist/gateway/server-discovery.js +62 -0
- package/dist/gateway/server-http.js +165 -0
- package/dist/gateway/server-methods/agent-job.js +114 -0
- package/dist/gateway/server-methods/agent.js +254 -0
- package/dist/gateway/server-methods/channels.js +239 -0
- package/dist/gateway/server-methods/chat.js +207 -0
- package/dist/gateway/server-methods/config.js +50 -0
- package/dist/gateway/server-methods/connect.js +6 -0
- package/dist/gateway/server-methods/cron.js +89 -0
- package/dist/gateway/server-methods/health.js +28 -0
- package/dist/gateway/server-methods/models.js +16 -0
- package/dist/gateway/server-methods/nodes.js +294 -0
- package/dist/gateway/server-methods/providers.js +257 -0
- package/dist/gateway/server-methods/send.js +254 -0
- package/dist/gateway/server-methods/sessions.js +382 -0
- package/dist/gateway/server-methods/skills.js +83 -0
- package/dist/gateway/server-methods/system.js +118 -0
- package/dist/gateway/server-methods/talk.js +22 -0
- package/dist/gateway/server-methods/types.js +1 -0
- package/dist/gateway/server-methods/voicewake.js +30 -0
- package/dist/gateway/server-methods/web.js +81 -0
- package/dist/gateway/server-methods/wizard.js +100 -0
- package/dist/gateway/server-methods.js +53 -0
- package/dist/gateway/server-providers.js +687 -0
- package/dist/gateway/server-shared.js +1 -0
- package/dist/gateway/server-utils.js +35 -0
- package/dist/gateway/server.js +1478 -0
- package/dist/gateway/session-utils.js +355 -0
- package/dist/gateway/ws-log.js +343 -0
- package/dist/gateway/ws-logging.js +8 -0
- package/dist/globals.js +41 -0
- package/dist/hooks/gmail-ops.js +236 -0
- package/dist/hooks/gmail-setup-utils.js +278 -0
- package/dist/hooks/gmail-watcher.js +190 -0
- package/dist/hooks/gmail.js +177 -0
- package/dist/imessage/client.js +165 -0
- package/dist/imessage/index.js +3 -0
- package/dist/imessage/monitor.js +365 -0
- package/dist/imessage/probe.js +26 -0
- package/dist/imessage/send.js +83 -0
- package/dist/imessage/targets.js +176 -0
- package/dist/index.js +55 -0
- package/dist/infra/agent-events.js +46 -0
- package/dist/infra/binaries.js +9 -0
- package/dist/infra/bonjour-discovery.js +163 -0
- package/dist/infra/bonjour.js +200 -0
- package/dist/infra/bridge/server.js +564 -0
- package/dist/infra/canvas-host-url.js +54 -0
- package/dist/infra/channel-summary.js +78 -0
- package/dist/infra/control-ui-assets.js +112 -0
- package/dist/infra/dotenv.js +15 -0
- package/dist/infra/env.js +8 -0
- package/dist/infra/errors.js +28 -0
- package/dist/infra/event-log.js +251 -0
- package/dist/infra/gateway-lock.js +8 -0
- package/dist/infra/git-commit.js +91 -0
- package/dist/infra/heartbeat-events.js +21 -0
- package/dist/infra/heartbeat-runner.js +458 -0
- package/dist/infra/heartbeat-wake.js +61 -0
- package/dist/infra/is-main.js +37 -0
- package/dist/infra/json-file.js +21 -0
- package/dist/infra/machine-name.js +40 -0
- package/dist/infra/nexus-root.js +56 -0
- package/dist/infra/node-pairing.js +212 -0
- package/dist/infra/path-env.js +93 -0
- package/dist/infra/ports.js +87 -0
- package/dist/infra/provider-summary.js +80 -0
- package/dist/infra/provider-usage.auth.js +189 -0
- package/dist/infra/provider-usage.fetch.claude.js +129 -0
- package/dist/infra/provider-usage.fetch.codex.js +62 -0
- package/dist/infra/provider-usage.fetch.copilot.js +42 -0
- package/dist/infra/provider-usage.fetch.gemini.js +57 -0
- package/dist/infra/provider-usage.fetch.js +6 -0
- package/dist/infra/provider-usage.fetch.minimax.js +214 -0
- package/dist/infra/provider-usage.fetch.shared.js +11 -0
- package/dist/infra/provider-usage.fetch.zai.js +62 -0
- package/dist/infra/provider-usage.format.js +77 -0
- package/dist/infra/provider-usage.js +145 -0
- package/dist/infra/provider-usage.load.js +54 -0
- package/dist/infra/provider-usage.shared.js +19 -0
- package/dist/infra/provider-usage.types.js +1 -0
- package/dist/infra/restart.js +29 -0
- package/dist/infra/retry.js +16 -0
- package/dist/infra/runtime-guard.js +59 -0
- package/dist/infra/shell-env.js +88 -0
- package/dist/infra/system-events.js +71 -0
- package/dist/infra/system-presence.js +217 -0
- package/dist/infra/tailnet.js +46 -0
- package/dist/infra/tailscale.js +149 -0
- package/dist/infra/unhandled-rejections.js +19 -0
- package/dist/infra/usage-suggestions.js +241 -0
- package/dist/infra/usage-upload.js +290 -0
- package/dist/infra/voicewake.js +78 -0
- package/dist/infra/widearea-dns.js +123 -0
- package/dist/infra/ws.js +13 -0
- package/dist/logger.js +52 -0
- package/dist/logging.js +506 -0
- package/dist/macos/gateway-daemon.js +145 -0
- package/dist/macos/relay.js +49 -0
- package/dist/media/constants.js +33 -0
- package/dist/media/host.js +42 -0
- package/dist/media/image-ops.js +119 -0
- package/dist/media/mime.js +123 -0
- package/dist/media/parse.js +83 -0
- package/dist/media/server.js +64 -0
- package/dist/media/store.js +139 -0
- package/dist/polls.js +43 -0
- package/dist/process/command-queue.js +97 -0
- package/dist/process/exec.js +75 -0
- package/dist/provider-web.js +8 -0
- package/dist/providers/github-copilot-auth.js +123 -0
- package/dist/providers/github-copilot-models.js +35 -0
- package/dist/providers/github-copilot-token.js +11 -0
- package/dist/providers/location.js +48 -0
- package/dist/providers/web/index.js +2 -0
- package/dist/runtime.js +8 -0
- package/dist/sessions/level-overrides.js +9 -0
- package/dist/sessions/send-policy.js +68 -0
- package/dist/signal/client.js +134 -0
- package/dist/signal/daemon.js +69 -0
- package/dist/signal/index.js +3 -0
- package/dist/signal/monitor.js +411 -0
- package/dist/signal/probe.js +46 -0
- package/dist/signal/send.js +91 -0
- package/dist/slack/actions.js +97 -0
- package/dist/slack/index.js +5 -0
- package/dist/slack/monitor.js +1270 -0
- package/dist/slack/probe.js +47 -0
- package/dist/slack/send.js +131 -0
- package/dist/slack/token.js +10 -0
- package/dist/telegram/allowed-updates.js +8 -0
- package/dist/telegram/bot.js +724 -0
- package/dist/telegram/download.js +34 -0
- package/dist/telegram/index.js +4 -0
- package/dist/telegram/monitor.js +47 -0
- package/dist/telegram/pairing-store.js +77 -0
- package/dist/telegram/probe.js +63 -0
- package/dist/telegram/proxy.js +9 -0
- package/dist/telegram/reaction-level.js +45 -0
- package/dist/telegram/send.js +151 -0
- package/dist/telegram/sent-message-cache.js +65 -0
- package/dist/telegram/token.js +30 -0
- package/dist/telegram/update-offset-store.js +61 -0
- package/dist/telegram/webhook-set.js +12 -0
- package/dist/telegram/webhook.js +56 -0
- package/dist/tui/commands.js +87 -0
- package/dist/tui/components/assistant-message.js +16 -0
- package/dist/tui/components/chat-log.js +92 -0
- package/dist/tui/components/custom-editor.js +55 -0
- package/dist/tui/components/selectors.js +8 -0
- package/dist/tui/components/tool-execution.js +111 -0
- package/dist/tui/components/user-message.js +17 -0
- package/dist/tui/gateway-chat.js +140 -0
- package/dist/tui/theme/theme.js +80 -0
- package/dist/tui/tui.js +708 -0
- package/dist/utils.js +153 -0
- package/dist/version.js +18 -0
- package/dist/web/accounts.js +86 -0
- package/dist/web/active-listener.js +25 -0
- package/dist/web/auto-reply.js +1256 -0
- package/dist/web/inbound.js +649 -0
- package/dist/web/login-qr.js +230 -0
- package/dist/web/login.js +71 -0
- package/dist/web/media.js +175 -0
- package/dist/web/outbound.js +102 -0
- package/dist/web/qr-image.js +97 -0
- package/dist/web/reconnect.js +60 -0
- package/dist/web/session.js +370 -0
- package/dist/wizard/clack-prompter.js +56 -0
- package/dist/wizard/onboarding.js +620 -0
- package/dist/wizard/prompts.js +6 -0
- package/dist/wizard/session.js +203 -0
- package/docs/AGENTS.default.md +116 -0
- package/docs/CAPABILITIES.md +444 -0
- package/docs/CNAME +1 -0
- package/docs/NEXUS_CORE_REWRITE_SPEC.md +226 -0
- package/docs/RELEASING.md +69 -0
- package/docs/_config.yml +53 -0
- package/docs/_layouts/default.html +145 -0
- package/docs/agent-assisted-install.md +95 -0
- package/docs/agent-loop.md +61 -0
- package/docs/agent-send.md +21 -0
- package/docs/agent.md +108 -0
- package/docs/android.md +133 -0
- package/docs/architecture.md +114 -0
- package/docs/assets/markdown.css +133 -0
- package/docs/assets/pixel-lobster.svg +60 -0
- package/docs/assets/terminal.css +470 -0
- package/docs/assets/theme.js +55 -0
- package/docs/audio.md +48 -0
- package/docs/automation/nexus-sync.md +371 -0
- package/docs/background-process.md +74 -0
- package/docs/bash.md +32 -0
- package/docs/bedrock.md +71 -0
- package/docs/bonjour.md +159 -0
- package/docs/browser-linux-troubleshooting.md +114 -0
- package/docs/browser.md +293 -0
- package/docs/bun.md +56 -0
- package/docs/camera.md +152 -0
- package/docs/clawd.md +212 -0
- package/docs/concepts/usage-tracking.md +29 -0
- package/docs/configuration.md +1666 -0
- package/docs/control-ui.md +83 -0
- package/docs/cron.md +385 -0
- package/docs/dashboard.md +17 -0
- package/docs/device-models.md +46 -0
- package/docs/discord.md +308 -0
- package/docs/discovery.md +112 -0
- package/docs/docker.md +258 -0
- package/docs/docs.json +105 -0
- package/docs/doctor.md +68 -0
- package/docs/elevated.md +31 -0
- package/docs/faq.md +736 -0
- package/docs/feature-inventory/overview.md +141 -0
- package/docs/feature-inventory/rollout-checklist.md +53 -0
- package/docs/feature-inventory/test-matrix.md +87 -0
- package/docs/feature-inventory.md +9 -0
- package/docs/gateway/configuration-examples.md +221 -0
- package/docs/gateway/configuration.md +172 -0
- package/docs/gateway/cron.md +61 -0
- package/docs/gateway/heartbeat.md +207 -0
- package/docs/gateway/pairing.md +109 -0
- package/docs/gateway-lock.md +28 -0
- package/docs/gateway.md +227 -0
- package/docs/gmail-pubsub.md +191 -0
- package/docs/grammy.md +27 -0
- package/docs/group-messages.md +73 -0
- package/docs/groups.md +130 -0
- package/docs/health.md +28 -0
- package/docs/heartbeat.md +73 -0
- package/docs/home-userspace.md +277 -0
- package/docs/hubs.md +148 -0
- package/docs/images.md +51 -0
- package/docs/imessage.md +94 -0
- package/docs/index.md +196 -0
- package/docs/ios.md +372 -0
- package/docs/linux.md +11 -0
- package/docs/location-command.md +95 -0
- package/docs/location.md +46 -0
- package/docs/logging.md +110 -0
- package/docs/lore.md +131 -0
- package/docs/mac/bun.md +133 -0
- package/docs/mac/canvas.md +161 -0
- package/docs/mac/child-process.md +72 -0
- package/docs/mac/dev-setup.md +81 -0
- package/docs/mac/health.md +28 -0
- package/docs/mac/icon.md +26 -0
- package/docs/mac/logging.md +51 -0
- package/docs/mac/menu-bar.md +69 -0
- package/docs/mac/peekaboo.md +170 -0
- package/docs/mac/permissions.md +40 -0
- package/docs/mac/release.md +76 -0
- package/docs/mac/remote.md +57 -0
- package/docs/mac/signing.md +41 -0
- package/docs/mac/skills.md +27 -0
- package/docs/mac/voice-overlay.md +52 -0
- package/docs/mac/voicewake.md +56 -0
- package/docs/mac/webchat.md +27 -0
- package/docs/mac/xpc.md +40 -0
- package/docs/macos.md +104 -0
- package/docs/model-failover.md +75 -0
- package/docs/models.md +91 -0
- package/docs/multi-agent.md +74 -0
- package/docs/nix.md +95 -0
- package/docs/nodes.md +157 -0
- package/docs/onboarding-config-protocol.md +34 -0
- package/docs/onboarding.md +189 -0
- package/docs/pairing.md +85 -0
- package/docs/plans/cron-add-hardening.md +72 -0
- package/docs/plans/group-policy-hardening.md +121 -0
- package/docs/poll.md +52 -0
- package/docs/prereqs.md +67 -0
- package/docs/presence.md +133 -0
- package/docs/proposals/model-config.md +147 -0
- package/docs/provider-routing.md +25 -0
- package/docs/queue.md +78 -0
- package/docs/reference/templates/AGENTS.md +164 -0
- package/docs/remote-gateway-readme.md +153 -0
- package/docs/remote.md +61 -0
- package/docs/research/memory.md +227 -0
- package/docs/rpc.md +35 -0
- package/docs/security.md +200 -0
- package/docs/session-ingestion.md +119 -0
- package/docs/session-tool.md +154 -0
- package/docs/session.md +85 -0
- package/docs/sessions.md +8 -0
- package/docs/setup.md +131 -0
- package/docs/showcase.md +37 -0
- package/docs/signal.md +122 -0
- package/docs/skills-config.md +58 -0
- package/docs/skills.md +153 -0
- package/docs/slack.md +221 -0
- package/docs/subagents.md +72 -0
- package/docs/tailscale.md +71 -0
- package/docs/talk.md +79 -0
- package/docs/telegram.md +96 -0
- package/docs/templates/AGENTS.md +286 -0
- package/docs/templates/BOOTSTRAP.md +35 -0
- package/docs/templates/IDENTITY.md +17 -0
- package/docs/templates/PROFILE.md +14 -0
- package/docs/templates/SOUL.md +41 -0
- package/docs/templates/TOOLS.md +41 -0
- package/docs/templates/USER.md +8 -0
- package/docs/test.md +43 -0
- package/docs/testing-onboarding-quickstart.md +76 -0
- package/docs/testing-philosophy.md +211 -0
- package/docs/thinking.md +46 -0
- package/docs/timezone.md +40 -0
- package/docs/tools.md +346 -0
- package/docs/troubleshooting.md +257 -0
- package/docs/tui.md +71 -0
- package/docs/typebox.md +42 -0
- package/docs/updating.md +138 -0
- package/docs/usage-cloud-aggregation-spec.md +133 -0
- package/docs/usage-suggestions-pipeline.md +126 -0
- package/docs/voicewake.md +61 -0
- package/docs/web.md +115 -0
- package/docs/webchat.md +34 -0
- package/docs/webhook.md +132 -0
- package/docs/whatsapp-clawd.jpg +0 -0
- package/docs/whatsapp.md +170 -0
- package/docs/windows.md +11 -0
- package/docs/wizard.md +167 -0
- package/package.json +209 -0
- package/skills/1password/SKILL.md +54 -0
- package/skills/1password/docs/setup.md +85 -0
- package/skills/1password/docs/troubleshooting.md +63 -0
- package/skills/1password/references/cli-examples.md +29 -0
- package/skills/1password/references/get-started.md +17 -0
- package/skills/agent-browser/SKILL.md +450 -0
- package/skills/agent-browser/docs/browser-use-eval.md +95 -0
- package/skills/agent-browser/docs/first-tests.md +261 -0
- package/skills/agent-browser/docs/wordle-nyt-eval.js +32 -0
- package/skills/aix/SKILL.md +93 -0
- package/skills/aix/docs/embeddings.md +40 -0
- package/skills/aix/docs/setup.md +58 -0
- package/skills/aix/docs/troubleshooting.md +41 -0
- package/skills/aix/references/sql.md +48 -0
- package/skills/apple-notes/SKILL.md +50 -0
- package/skills/apple-reminders/SKILL.md +67 -0
- package/skills/bear-notes/SKILL.md +79 -0
- package/skills/bird/SKILL.md +32 -0
- package/skills/bird/docs/auth.md +31 -0
- package/skills/bird/docs/troubleshooting.md +31 -0
- package/skills/blogwatcher/SKILL.md +46 -0
- package/skills/blucli/SKILL.md +27 -0
- package/skills/brave-search/SKILL.md +36 -0
- package/skills/brave-search/docs/setup.md +40 -0
- package/skills/brave-search/docs/troubleshooting.md +37 -0
- package/skills/brave-search/docs/usage.md +28 -0
- package/skills/brave-search/scripts/content.mjs +53 -0
- package/skills/brave-search/scripts/search.mjs +79 -0
- package/skills/browser-use-agent-sdk/SKILL.md +90 -0
- package/skills/camsnap/SKILL.md +25 -0
- package/skills/clawdhub/SKILL.md +53 -0
- package/skills/coding-agent/SKILL.md +274 -0
- package/skills/comms/SKILL.md +249 -0
- package/skills/comms/docs/adapters.md +54 -0
- package/skills/comms/docs/setup.md +56 -0
- package/skills/comms/docs/troubleshooting.md +44 -0
- package/skills/comms/references/schema.md +49 -0
- package/skills/computer-use/SKILL.md +204 -0
- package/skills/computer-use/docs/open-interpreter.md +26 -0
- package/skills/computer-use/docs/peekaboo.md +26 -0
- package/skills/computer-use/docs/setup.md +47 -0
- package/skills/computer-use/docs/troubleshooting.md +33 -0
- package/skills/discord/SKILL.md +370 -0
- package/skills/eightctl/SKILL.md +29 -0
- package/skills/eve/SKILL.md +215 -0
- package/skills/eve/docs/dual-account.md +84 -0
- package/skills/eve/docs/intelligence.md +58 -0
- package/skills/eve/docs/setup.md +60 -0
- package/skills/eve/docs/troubleshooting.md +54 -0
- package/skills/eve/scripts/setup-dual-account.sh +125 -0
- package/skills/filesystem/SKILL.md +217 -0
- package/skills/food-order/SKILL.md +41 -0
- package/skills/gemini/SKILL.md +23 -0
- package/skills/gh/SKILL.md +22 -0
- package/skills/gh/docs/usage.md +41 -0
- package/skills/gifgrep/SKILL.md +47 -0
- package/skills/github/SKILL.md +26 -0
- package/skills/github/docs/setup.md +21 -0
- package/skills/github/docs/troubleshooting.md +24 -0
- package/skills/gog/SKILL.md +104 -0
- package/skills/gog/docs/portability.md +94 -0
- package/skills/gog/docs/setup.md +76 -0
- package/skills/gog/docs/troubleshooting.md +94 -0
- package/skills/gog/scripts/cdp/README.md +90 -0
- package/skills/gog/scripts/cdp/add_test_users.py +69 -0
- package/skills/gog/scripts/cdp/auth_add_accounts.py +209 -0
- package/skills/gog/scripts/cdp/auth_add_accounts_manual.py +206 -0
- package/skills/gog/scripts/cdp/create_oauth_client.py +165 -0
- package/skills/gog/scripts/cdp/launch_cdp_chrome.sh +58 -0
- package/skills/google-oauth/SKILL.md +94 -0
- package/skills/goplaces/SKILL.md +30 -0
- package/skills/imsg/SKILL.md +25 -0
- package/skills/json-render/SKILL.md +154 -0
- package/skills/json-render/assets/components/README.md +21 -0
- package/skills/json-render/assets/components/catalog.ts +78 -0
- package/skills/json-render/assets/components/registry.tsx +172 -0
- package/skills/json-render/assets/demo/App.css +397 -0
- package/skills/json-render/assets/demo/App.tsx +897 -0
- package/skills/json-render/assets/demo/README.md +22 -0
- package/skills/json-render/assets/demo/catalog.ts +78 -0
- package/skills/json-render/assets/demo/data/nexus-core.json +31 -0
- package/skills/json-render/assets/demo/index.css +27 -0
- package/skills/json-render/assets/demo/registry.tsx +150 -0
- package/skills/json-render/docs/nexus-state-demo.md +84 -0
- package/skills/json-render/docs/shadcn-preset.md +33 -0
- package/skills/json-render/scripts/create-vite-demo.sh +45 -0
- package/skills/json-render/scripts/llm-server/README.md +33 -0
- package/skills/json-render/scripts/llm-server/catalog.ts +78 -0
- package/skills/json-render/scripts/llm-server/package-lock.json +702 -0
- package/skills/json-render/scripts/llm-server/package.json +18 -0
- package/skills/json-render/scripts/llm-server/server.ts +285 -0
- package/skills/local-places/SERVER_README.md +101 -0
- package/skills/local-places/SKILL.md +91 -0
- package/skills/local-places/pyproject.toml +27 -0
- package/skills/local-places/src/local_places/__init__.py +2 -0
- package/skills/local-places/src/local_places/__pycache__/__init__.cpython-314.pyc +0 -0
- package/skills/local-places/src/local_places/__pycache__/google_places.cpython-314.pyc +0 -0
- package/skills/local-places/src/local_places/__pycache__/main.cpython-314.pyc +0 -0
- package/skills/local-places/src/local_places/__pycache__/schemas.cpython-314.pyc +0 -0
- package/skills/local-places/src/local_places/google_places.py +314 -0
- package/skills/local-places/src/local_places/main.py +65 -0
- package/skills/local-places/src/local_places/schemas.py +107 -0
- package/skills/mcporter/SKILL.md +38 -0
- package/skills/model-usage/SKILL.md +45 -0
- package/skills/model-usage/references/codexbar-cli.md +28 -0
- package/skills/model-usage/scripts/model_usage.py +310 -0
- package/skills/nano-banana-pro/SKILL.md +30 -0
- package/skills/nano-banana-pro/scripts/generate_image.py +169 -0
- package/skills/nano-pdf/SKILL.md +20 -0
- package/skills/nexus-cloud/SKILL.md +53 -0
- package/skills/nexus-cloud/docs/security.md +24 -0
- package/skills/nexus-cloud/docs/setup.md +51 -0
- package/skills/nexus-cloud/docs/troubleshooting.md +28 -0
- package/skills/notion/SKILL.md +156 -0
- package/skills/obsidian/SKILL.md +55 -0
- package/skills/onboarding/SKILL.md +515 -0
- package/skills/onboarding/docs/CAPABILITIES.md +444 -0
- package/skills/onboarding/docs/CAPABILITY_TAXONOMY.md +608 -0
- package/skills/onboarding/docs/CLI_GRAMMAR.md +797 -0
- package/skills/onboarding/docs/CLI_GRAMMAR_CREDENTIALS.md +632 -0
- package/skills/onboarding/docs/CLI_GRAMMAR_ONBOARDING.md +815 -0
- package/skills/onboarding/docs/CLI_GRAMMAR_SKILLS.md +449 -0
- package/skills/onboarding/docs/DOCUMENTATION_OVERVIEW.md +290 -0
- package/skills/onboarding/docs/ENTITY_MODEL.md +582 -0
- package/skills/onboarding/docs/GOAL_STATE_ARCHITECTURE.md +395 -0
- package/skills/onboarding/docs/NEXUS_SYSTEM_OVERVIEW.md +476 -0
- package/skills/onboarding/docs/SKILLS_HUB_SPEC.md +477 -0
- package/skills/onboarding/docs/SKILLS_SPECIFICATION.md +947 -0
- package/skills/onboarding/docs/SKILL_GATEWAY_DESIGN.md +702 -0
- package/skills/onboarding/docs/SKILL_GATEWAY_PRD.md +278 -0
- package/skills/onboarding/docs/SKILL_INVENTORY.md +266 -0
- package/skills/onboarding/docs/STATE_ARCHITECTURE.md +547 -0
- package/skills/onboarding/docs/TROUBLESHOOTING.md +363 -0
- package/skills/onboarding/docs/USER_JOURNEY.md +797 -0
- package/skills/onboarding/docs/WOW_MOMENTS.md +232 -0
- package/skills/onboarding/docs/agent-apple-id.md +289 -0
- package/skills/onboarding/docs/skill-deep-dives/1password.md +367 -0
- package/skills/onboarding/docs/skill-deep-dives/TEMPLATE.md +197 -0
- package/skills/onboarding/docs/skill-deep-dives/aix.md +498 -0
- package/skills/onboarding/docs/skill-deep-dives/bird.md +357 -0
- package/skills/onboarding/docs/skill-deep-dives/brave-search.md +601 -0
- package/skills/onboarding/docs/skill-deep-dives/comms.md +607 -0
- package/skills/onboarding/docs/skill-deep-dives/computer-use.md +599 -0
- package/skills/onboarding/docs/skill-deep-dives/cron-and-heartbeat.md +576 -0
- package/skills/onboarding/docs/skill-deep-dives/eve.md +711 -0
- package/skills/onboarding/docs/skill-deep-dives/github.md +333 -0
- package/skills/onboarding/docs/skill-deep-dives/gog.md +640 -0
- package/skills/onboarding/docs/skill-deep-dives/homebrew-prereqs.md +785 -0
- package/skills/onboarding/docs/skill-deep-dives/nexus-cloud.md +689 -0
- package/skills/onboarding/docs/skill-deep-dives/qmd.md +742 -0
- package/skills/onboarding/docs/skill-deep-dives/telegram.md +379 -0
- package/skills/onboarding/docs/skill-deep-dives/wacli.md +399 -0
- package/skills/onboarding/docs/skill-deep-dives/weather.md +513 -0
- package/skills/onboarding/scripts/ralph/prd.json +215 -0
- package/skills/onboarding/scripts/ralph/progress.txt +99 -0
- package/skills/onboarding/scripts/ralph/prompt.md +87 -0
- package/skills/onboarding/scripts/ralph/ralph.log +84 -0
- package/skills/onboarding/scripts/ralph/ralph.sh +45 -0
- package/skills/onboarding/scripts/setup-cursor-skills.sh +40 -0
- package/skills/openai-image-gen/SKILL.md +31 -0
- package/skills/openai-image-gen/scripts/gen.py +173 -0
- package/skills/openai-whisper/SKILL.md +19 -0
- package/skills/openai-whisper-api/SKILL.md +43 -0
- package/skills/openai-whisper-api/scripts/transcribe.sh +85 -0
- package/skills/openhue/SKILL.md +30 -0
- package/skills/oracle/SKILL.md +105 -0
- package/skills/ordercli/SKILL.md +47 -0
- package/skills/peekaboo/SKILL.md +153 -0
- package/skills/qmd/SKILL.md +32 -0
- package/skills/qmd/docs/mcp.md +30 -0
- package/skills/qmd/docs/ollama.md +42 -0
- package/skills/qmd/docs/setup.md +44 -0
- package/skills/sag/SKILL.md +62 -0
- package/skills/skill-cli-template/SKILL.md +109 -0
- package/skills/skill-creator/scripts/__pycache__/quick_validate.cpython-311.pyc +0 -0
- package/skills/slack/SKILL.md +144 -0
- package/skills/songsee/SKILL.md +29 -0
- package/skills/sonoscli/SKILL.md +26 -0
- package/skills/spotify-player/SKILL.md +34 -0
- package/skills/summarize/SKILL.md +49 -0
- package/skills/telegram/SKILL.md +20 -0
- package/skills/telegram/docs/pairing.md +30 -0
- package/skills/telegram/docs/setup.md +41 -0
- package/skills/telegram/docs/webhook.md +17 -0
- package/skills/things-mac/SKILL.md +61 -0
- package/skills/tmux/SKILL.md +121 -0
- package/skills/tmux/scripts/find-sessions.sh +112 -0
- package/skills/tmux/scripts/wait-for-text.sh +83 -0
- package/skills/trello/SKILL.md +84 -0
- package/skills/upstream-sync/SKILL.md +151 -0
- package/skills/upstream-sync/scripts/auto-port.sh +227 -0
- package/skills/upstream-sync/scripts/check-all.sh +88 -0
- package/skills/upstream-sync/scripts/check-nexus.sh +146 -0
- package/skills/upstream-sync/scripts/check-pi-ai.sh +129 -0
- package/skills/video-frames/SKILL.md +29 -0
- package/skills/video-frames/scripts/frame.sh +81 -0
- package/skills/wacli/SKILL.md +48 -0
- package/skills/wacli/docs/auth.md +21 -0
- package/skills/wacli/docs/backup.md +9 -0
- package/skills/wacli/docs/troubleshooting.md +21 -0
- package/skills/weather/SKILL.md +53 -0
- package/skills/weather/docs/usage.md +40 -0
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
# Skill Gateway PRD
|
|
2
|
+
|
|
3
|
+
> **Note**: State layout and credential storage are defined in
|
|
4
|
+
> `STATE_ARCHITECTURE.md`. References to per-skill state and usage logs in this
|
|
5
|
+
> PRD are canonical under `~/nexus/state/nexus/skills/{skill}/`.
|
|
6
|
+
|
|
7
|
+
> **Status**: Ready for Implementation
|
|
8
|
+
> **Created**: 2026-01-12
|
|
9
|
+
> **Last Updated**: 2026-01-12
|
|
10
|
+
> **Owner**: Tyler + Agent
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## TL;DR
|
|
15
|
+
|
|
16
|
+
Build a CLI gateway (`nexus skill *`) that wraps all skill execution, providing automatic usage tracking, state management, and gated discovery. This solves the "two hard problems" of onboarding: tracking state and injecting state into the agent.
|
|
17
|
+
|
|
18
|
+
**Key Insight**: Instead of asking agents to report usage (unreliable), we make them execute through the gateway (automatic). The gateway becomes the single source of truth for what skills exist, which are ready, and how they're being used.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Goals
|
|
23
|
+
|
|
24
|
+
1. **Automatic Usage Tracking** — Every skill invocation logged without agent cooperation
|
|
25
|
+
2. **Gated Discovery** — Only show skills that are ready to use
|
|
26
|
+
3. **Verification on First Run** — Trust but verify, then cache the result
|
|
27
|
+
4. **Observable Skill Health** — Know which skills work, which fail, usage patterns
|
|
28
|
+
5. **Simple Agent Instructions** — Agent just needs to know `nexus skill run <name>`
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Non-Goals (For Now)
|
|
33
|
+
|
|
34
|
+
- MCP integration (CLI only)
|
|
35
|
+
- Full sandboxing/isolation
|
|
36
|
+
- Skill crystallization (performance optimization)
|
|
37
|
+
- Complex adapters for different skill types
|
|
38
|
+
- Cross-agent skill sharing
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Architecture
|
|
43
|
+
|
|
44
|
+
See: [SKILL_GATEWAY_DESIGN.md](./SKILL_GATEWAY_DESIGN.md) for complete technical specification.
|
|
45
|
+
|
|
46
|
+
### Core Files
|
|
47
|
+
|
|
48
|
+
| File | Purpose |
|
|
49
|
+
|------|---------|
|
|
50
|
+
| `~/nexus/state/nexus/skills/{skill}/state.json` | Per-skill runtime state |
|
|
51
|
+
| `~/nexus/state/nexus/skills/{skill}/usage.log` | Append-only JSONL log |
|
|
52
|
+
| `~/nexus/state/nexus/skills/manifest.json` | Skill manifest (discovery) |
|
|
53
|
+
|
|
54
|
+
### New Commands
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
nexus skills list [--ready] [--locked] # List skills with status
|
|
58
|
+
nexus skill show <name> # Show skill details + prompt
|
|
59
|
+
nexus skill verify <name> # Check if skill is configured
|
|
60
|
+
nexus skill run <name> [args...] # Execute skill (logged)
|
|
61
|
+
nexus skill stats [name] # Usage statistics
|
|
62
|
+
nexus status # Quick status overview
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Implementation Phases
|
|
68
|
+
|
|
69
|
+
### Phase 1: State Infrastructure ✅
|
|
70
|
+
**Completed**: 2026-01-12
|
|
71
|
+
|
|
72
|
+
- [x] **1.1** Create `src/agents/skill-state.ts`
|
|
73
|
+
- `loadSkillState()` / `saveSkillState()`
|
|
74
|
+
- `getSkillState(name)` / `setSkillState(name, updates)`
|
|
75
|
+
- Schema: `SkillState` type with version, skills map
|
|
76
|
+
|
|
77
|
+
- [x] **1.2** Create `src/agents/skill-usage.ts`
|
|
78
|
+
- `logSkillUsage(entry)` with append + prune
|
|
79
|
+
- `getSkillStats(name?)` for analytics
|
|
80
|
+
- Schema: `UsageLogEntry` type
|
|
81
|
+
|
|
82
|
+
- [x] **1.3** Define skill tool mappings
|
|
83
|
+
- `KNOWN_SKILL_TOOLS`: Record<string, { tool, verify }>
|
|
84
|
+
- `SCRIPT_SKILLS`: Record<string, { runner, script }>
|
|
85
|
+
- `PROMPT_ONLY_SKILLS`: Set<string>
|
|
86
|
+
|
|
87
|
+
- [x] **1.4** Unit tests for state management
|
|
88
|
+
- 29 tests passing
|
|
89
|
+
|
|
90
|
+
### Phase 2: Core Commands ✅
|
|
91
|
+
**Completed**: 2026-01-12
|
|
92
|
+
|
|
93
|
+
- [x] **2.1** `nexus skill show <name>` command
|
|
94
|
+
- Load skill from manifest
|
|
95
|
+
- Read SKILL.md content
|
|
96
|
+
- Display state from per-skill state.json
|
|
97
|
+
- Output: name, description, status, prompt
|
|
98
|
+
|
|
99
|
+
- [x] **2.2** `nexus skill verify <name>` command
|
|
100
|
+
- Determine verification method (binary check, command, etc.)
|
|
101
|
+
- Execute verification
|
|
102
|
+
- Update per-skill state.json with result
|
|
103
|
+
- Output: success/failure with details
|
|
104
|
+
|
|
105
|
+
- [x] **2.3** `nexus skill run <name> [args...]` command
|
|
106
|
+
- Check if skill is prompt-only vs tool-based
|
|
107
|
+
- For tools: execute with arg passthrough
|
|
108
|
+
- Capture timing, exit code, stderr
|
|
109
|
+
- Log to per-skill usage.log
|
|
110
|
+
- Update per-skill state.json (lastUsed, etc.)
|
|
111
|
+
|
|
112
|
+
- [x] **2.4** Create `src/agents/skill-runner.ts`
|
|
113
|
+
- Core gateway logic
|
|
114
|
+
- `execCapture()` utility
|
|
115
|
+
- Output streaming
|
|
116
|
+
|
|
117
|
+
### Phase 3: Stats & Polish ✅
|
|
118
|
+
**Completed**: 2026-01-12
|
|
119
|
+
|
|
120
|
+
- [x] **3.1** `nexus skill stats [name]` command
|
|
121
|
+
- Parse per-skill usage.log
|
|
122
|
+
- Calculate: total runs, success rate, avg duration
|
|
123
|
+
- Per-skill or aggregate
|
|
124
|
+
|
|
125
|
+
- [x] **3.2** `nexus skills status` command
|
|
126
|
+
- Add `--ready` flag (only configured skills)
|
|
127
|
+
- Add `--locked` flag (only unconfigured skills)
|
|
128
|
+
- Show status indicator per skill
|
|
129
|
+
|
|
130
|
+
- [ ] **3.3** `nexus status` convenience alias (deferred)
|
|
131
|
+
- Quick overview: # skills ready, # locked, recent activity
|
|
132
|
+
|
|
133
|
+
- [ ] **3.4** Update Cursor rules generation (deferred)
|
|
134
|
+
- Include gateway instructions in generated rules
|
|
135
|
+
|
|
136
|
+
### Phase 4: Testing & Documentation ⬜
|
|
137
|
+
**Estimated**: 2-3 hours
|
|
138
|
+
|
|
139
|
+
- [ ] **4.1** Manual testing with real skills
|
|
140
|
+
- Test: gog, tmux, peekaboo, filesystem (prompt-only)
|
|
141
|
+
- Verify logging, state updates, error handling
|
|
142
|
+
|
|
143
|
+
- [ ] **4.2** Edge case fixes
|
|
144
|
+
- Handle missing skills gracefully
|
|
145
|
+
- Handle verification failures
|
|
146
|
+
- Handle tool execution errors
|
|
147
|
+
|
|
148
|
+
- [ ] **4.3** Update AGENTS.md template
|
|
149
|
+
- New gateway instructions
|
|
150
|
+
- Remove old skill loading patterns
|
|
151
|
+
|
|
152
|
+
- [ ] **4.4** Update nexus README
|
|
153
|
+
- Document new commands
|
|
154
|
+
- Usage examples
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## Skills Inventory Reconciliation ⬜
|
|
159
|
+
**Estimated**: 1-2 hours
|
|
160
|
+
**Priority**: After Phase 2 (needs working gateway to test)
|
|
161
|
+
|
|
162
|
+
### Context
|
|
163
|
+
|
|
164
|
+
There are skills in two locations that need reconciliation:
|
|
165
|
+
- `~/nexus/skills/` (user's active skills)
|
|
166
|
+
- `~/nexus/home/projects/nexus/skills/` (core nexus repo)
|
|
167
|
+
|
|
168
|
+
### Tasks
|
|
169
|
+
|
|
170
|
+
- [ ] **5.1** Generate diff report
|
|
171
|
+
- Skills only in user dir
|
|
172
|
+
- Skills only in core dir
|
|
173
|
+
- Skills in both (check for differences)
|
|
174
|
+
|
|
175
|
+
- [ ] **5.2** Decide unification strategy
|
|
176
|
+
- Which is canonical?
|
|
177
|
+
- Symlink vs copy vs git submodule?
|
|
178
|
+
|
|
179
|
+
- [ ] **5.3** Execute unification
|
|
180
|
+
- Preserve user customizations
|
|
181
|
+
- Update any hardcoded paths
|
|
182
|
+
|
|
183
|
+
- [ ] **5.4** Verify all skills load correctly
|
|
184
|
+
- Run `nexus skills list` after merge
|
|
185
|
+
- Test representative skills from each category
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## Skill Tool Mappings
|
|
190
|
+
|
|
191
|
+
Reference for Phase 1.3 (from IMPLEMENTATION_RESEARCH.md):
|
|
192
|
+
|
|
193
|
+
### Tool-Based Skills (Binary Required)
|
|
194
|
+
|
|
195
|
+
| Skill | Tool Binary | Verify Command |
|
|
196
|
+
|-------|-------------|----------------|
|
|
197
|
+
| gog | gog | `gog gmail labels list --account default` |
|
|
198
|
+
| eve | eve | `eve messages --limit 1` |
|
|
199
|
+
| 1password | op | `op whoami` |
|
|
200
|
+
| tmux | tmux | `tmux -V` |
|
|
201
|
+
| peekaboo | peekaboo | `peekaboo --version` |
|
|
202
|
+
| qmd | qmd | `qmd status` |
|
|
203
|
+
| aix | aix | `aix --version` |
|
|
204
|
+
| summarize | summarize | `summarize --version` |
|
|
205
|
+
| video-frames | ffmpeg | `ffmpeg -version` |
|
|
206
|
+
| camsnap | camsnap | `camsnap --help` |
|
|
207
|
+
| gifgrep | gifgrep | `gifgrep --version` |
|
|
208
|
+
| nano-pdf | nano-pdf | `nano-pdf --help` |
|
|
209
|
+
| songsee | songsee | `songsee --version` |
|
|
210
|
+
| bear-notes | bear | `bear --version` |
|
|
211
|
+
| openhue | openhue | `openhue --version` |
|
|
212
|
+
| obsidian-semantic-search | obsidian-semantic-search | `obsidian-semantic-search --version` |
|
|
213
|
+
| nexus-cloud | wrangler | `wrangler --version` |
|
|
214
|
+
|
|
215
|
+
### Script-Based Skills
|
|
216
|
+
|
|
217
|
+
| Skill | Runner | Notes |
|
|
218
|
+
|-------|--------|-------|
|
|
219
|
+
| brave-search | node | Requires BRAVE_API_KEY |
|
|
220
|
+
| openai-image-gen | python | Requires OPENAI_API_KEY |
|
|
221
|
+
|
|
222
|
+
### Prompt-Only Skills (No External Tool)
|
|
223
|
+
|
|
224
|
+
filesystem, computer-use, weather, github, discord, coding-agent, gemini, model-usage, x-twitter, apple-calendar, apple-notes, apple-reminders, things, blogwatcher, web-scraping, newsletter-generation, etc.
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## Risk Mitigation
|
|
229
|
+
|
|
230
|
+
| Risk | Mitigation |
|
|
231
|
+
|------|------------|
|
|
232
|
+
| Tool binary names change | `KNOWN_SKILL_TOOLS` is single source of truth, easy to update |
|
|
233
|
+
| Verification commands change | Same - centralized mapping |
|
|
234
|
+
| State file corruption | Atomic writes (write to tmp, rename) |
|
|
235
|
+
| Log file grows unbounded | Prune to last 2000 entries / 2MB |
|
|
236
|
+
| Gateway adds latency | Minimal overhead (just logging) |
|
|
237
|
+
| Agent bypasses gateway | Agent instructions emphasize using `nexus skill run` |
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
## Success Criteria
|
|
242
|
+
|
|
243
|
+
1. ✅ `nexus skills list --ready` shows only configured skills
|
|
244
|
+
2. ✅ `nexus skill run gog gmail labels list` works and logs
|
|
245
|
+
3. ✅ `nexus skill stats` shows usage patterns
|
|
246
|
+
4. ✅ Agent can discover and use skills via gateway
|
|
247
|
+
5. ✅ No manual reporting required from agent
|
|
248
|
+
6. ✅ Skills reconciliation complete, single source of truth
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
## Dependencies
|
|
253
|
+
|
|
254
|
+
- Existing `nexus` CLI (TypeScript, Commander)
|
|
255
|
+
- Existing `resolveStateDir()` helper
|
|
256
|
+
- Existing `loadJsonFile()` / `saveJsonFile()` patterns
|
|
257
|
+
- Existing cron log patterns (for append-only log)
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## Open Questions
|
|
262
|
+
|
|
263
|
+
1. **Should failed verifications block `skill run`?**
|
|
264
|
+
- Current plan: Warn but allow (user might know something we don't)
|
|
265
|
+
|
|
266
|
+
2. **How to handle skills with multiple tools?**
|
|
267
|
+
- Current plan: Primary tool only, note others in SKILL.md
|
|
268
|
+
|
|
269
|
+
3. **What about skills that need env vars but no binary?**
|
|
270
|
+
- Current plan: Consider them "prompt-only" with optional env check
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
## Change Log
|
|
275
|
+
|
|
276
|
+
| Date | Change |
|
|
277
|
+
|------|--------|
|
|
278
|
+
| 2026-01-12 | Initial PRD created |
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
# Skill Inventory & Migration Plan
|
|
2
|
+
|
|
3
|
+
> Categorization of existing skills into the new entity model: Tools, Connectors, and Guides.
|
|
4
|
+
|
|
5
|
+
## Summary
|
|
6
|
+
|
|
7
|
+
| Category | Count | Description |
|
|
8
|
+
|----------|-------|-------------|
|
|
9
|
+
| **Tools** | 32 | Binary/CLI that performs work |
|
|
10
|
+
| **Connectors** | 15 | Service auth + credentials |
|
|
11
|
+
| **Guides** | 10 | Standalone prompts/instructions |
|
|
12
|
+
| **Composite** | Many | Tools that also need connectors (listed in both) |
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Tools
|
|
17
|
+
|
|
18
|
+
Tools are binaries/CLIs that perform actual work. They may require connectors for auth.
|
|
19
|
+
|
|
20
|
+
| Name | Binary | OS | Connector Required | Capabilities Provided |
|
|
21
|
+
|------|--------|-----|-------------------|----------------------|
|
|
22
|
+
| `gog` | `gog` | all | `google-oauth` | email, calendar, drive, contacts, tasks |
|
|
23
|
+
| `eve` | `eve` | **darwin** | `gemini` (optional) | messaging-analytics, imessage |
|
|
24
|
+
| `imsg` | `imsg` | **darwin** | — | messaging (iMessage) |
|
|
25
|
+
| `aix` | `aix` | darwin, linux | `gemini` (optional) | ai-session-analytics |
|
|
26
|
+
| `summarize` | `summarize` | all | LLM provider | summarization |
|
|
27
|
+
| `peekaboo` | `peekaboo` | **darwin** | — | gui-automation |
|
|
28
|
+
| `qmd` | `qmd` | all | — | document-rendering |
|
|
29
|
+
| `camsnap` | `camsnap` | **darwin** | — | camera-capture |
|
|
30
|
+
| `tmux` | `tmux` | darwin, linux | — | terminal-sessions |
|
|
31
|
+
| `video-frames` | `ffmpeg` | all | — | video-processing |
|
|
32
|
+
| `nano-pdf` | `nano-pdf` | all | API key? | pdf-processing |
|
|
33
|
+
| `songsee` | `songsee` | **darwin** | — | music-detection |
|
|
34
|
+
| `blucli` | `blucli` | **darwin** | — | bluetooth-control |
|
|
35
|
+
| `openhue` | `openhue` | all | `hue` | smart-home |
|
|
36
|
+
| `sonoscli` | `sonoscli` | all | — | audio-control |
|
|
37
|
+
| `spotify-player` | `spotify_player` | all | `spotify` | music-playback |
|
|
38
|
+
| `bird` | `bird` | all | `twitter` | social-media (X) |
|
|
39
|
+
| `wacli` | `wacli` | all | `whatsapp` | messaging (WhatsApp) |
|
|
40
|
+
| `eightctl` | `eightctl` | all | `eightsleep` | smart-home |
|
|
41
|
+
| `sag` | `sag` | all | — | screenshot-annotation |
|
|
42
|
+
| `gifgrep` | `gifgrep` | all | API key (partial) | gif-search |
|
|
43
|
+
| `ordercli` | `ordercli` | all | `doordash`? | food-ordering |
|
|
44
|
+
| `model-usage` | script | all | LLM providers | api-analytics |
|
|
45
|
+
| `openai-whisper` | `whisper` | all | — | transcription (local) |
|
|
46
|
+
| `nexus-cloud` | `wrangler` | all | `cloudflare` | cloud-sync |
|
|
47
|
+
| `upstream-sync` | scripts | all | — | git-sync |
|
|
48
|
+
| `mcporter` | `mcporter` | all | — | mcp-tools |
|
|
49
|
+
| `1password` | `op` | all | `1password` | credential-management |
|
|
50
|
+
| `apple-notes` | AppleScript | **darwin** | — | notes |
|
|
51
|
+
| `apple-reminders` | AppleScript | **darwin** | — | reminders |
|
|
52
|
+
| `bear-notes` | AppleScript | **darwin** | — | notes |
|
|
53
|
+
| `things-mac` | AppleScript | **darwin** | — | tasks |
|
|
54
|
+
| `obsidian` | Obsidian URI | all | — | notes |
|
|
55
|
+
| `goplaces` | `goplaces` | all | `google-places` | location-search |
|
|
56
|
+
| `local-places` | MCP server | all | `google-places` | location-search |
|
|
57
|
+
| `blogwatcher` | `blogwatcher` | all | — | rss-monitoring |
|
|
58
|
+
| `comms` | tool | all | various | messaging (unified) |
|
|
59
|
+
|
|
60
|
+
**Bold darwin** = macOS only (no Linux/Windows support)
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Connectors
|
|
65
|
+
|
|
66
|
+
Connectors provide auth to external services. Each needs setup and credentials.
|
|
67
|
+
|
|
68
|
+
| Name | Service | Auth Type | Capabilities Enabled |
|
|
69
|
+
|------|---------|-----------|---------------------|
|
|
70
|
+
| `google-oauth` | Google | OAuth 2.0 | google-auth (email, calendar, drive, etc.) |
|
|
71
|
+
| `anthropic` | Anthropic | API key | llm |
|
|
72
|
+
| `openai` | OpenAI | API key | llm, image-gen, transcription |
|
|
73
|
+
| `gemini` | Google AI | API key | llm |
|
|
74
|
+
| `brave-search` | Brave | API key | web-search |
|
|
75
|
+
| `discord` | Discord | Bot token | messaging (Discord) |
|
|
76
|
+
| `slack` | Slack | Bot token | messaging (Slack) |
|
|
77
|
+
| `trello` | Trello | API key + token | task-management |
|
|
78
|
+
| `notion` | Notion | API key | notes, databases |
|
|
79
|
+
| `github` | GitHub | OAuth/token | version-control |
|
|
80
|
+
| `twitter` | X/Twitter | OAuth | social-media |
|
|
81
|
+
| `spotify` | Spotify | OAuth | music |
|
|
82
|
+
| `whatsapp` | WhatsApp | Phone auth | messaging |
|
|
83
|
+
| `cloudflare` | Cloudflare | API token | cloud-infra |
|
|
84
|
+
| `1password` | 1Password | App integration | credential-management |
|
|
85
|
+
| `elevenlabs` | ElevenLabs | API key | voice-synthesis |
|
|
86
|
+
| `firecrawl` | Firecrawl | API key | web-scraping |
|
|
87
|
+
| `apify` | Apify | API token | web-scraping |
|
|
88
|
+
| `hue` | Philips Hue | Bridge auth | smart-home |
|
|
89
|
+
| `eightsleep` | Eight Sleep | Account auth | smart-home |
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Guides
|
|
94
|
+
|
|
95
|
+
Pure prompts/instructions that may reference tools and connectors.
|
|
96
|
+
|
|
97
|
+
| Name | Dependencies | Purpose |
|
|
98
|
+
|------|--------------|---------|
|
|
99
|
+
| `computer-use` | anyTools: [peekaboo, interpreter, browser-use] | Meta-guide for UI automation |
|
|
100
|
+
| `filesystem` | — | Home directory organization |
|
|
101
|
+
| `coding-agent` | anyTools: [codex, claude, opencode, pi] | Meta-guide for coding agents |
|
|
102
|
+
| `oracle` | LLM providers | LLM routing and selection |
|
|
103
|
+
| `weather` | curl | Weather queries (no API key) |
|
|
104
|
+
| `food-order` | ordercli? | Food ordering workflow |
|
|
105
|
+
| `onboarding` | nexus CLI | Nexus onboarding (to be integrated into CLI) |
|
|
106
|
+
| `clawdhub` | — | ClawdHub skill discovery |
|
|
107
|
+
| `skill-cli-template` | — | Template for creating CLIs |
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Migration Plan
|
|
112
|
+
|
|
113
|
+
### Phase 1: Create folder structure
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
mkdir -p ~/nexus/tools ~/nexus/connectors ~/nexus/guides
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### Phase 2: Handle composite skills
|
|
120
|
+
|
|
121
|
+
Only **one** skill is truly composite (tool + connector bundle):
|
|
122
|
+
|
|
123
|
+
| Current Skill | Split Into |
|
|
124
|
+
|---------------|------------|
|
|
125
|
+
| `gog/SKILL.md` | `tools/gog/` + `connectors/google-oauth/` |
|
|
126
|
+
|
|
127
|
+
The gog SKILL.md contains both tool usage AND OAuth setup. The OAuth setup should move to a separate `google-oauth` connector.
|
|
128
|
+
|
|
129
|
+
**Note:** These are NOT composites—they're pure connectors with scripts:
|
|
130
|
+
- `brave-search` → `connectors/brave-search/` (has search.mjs, content.mjs scripts)
|
|
131
|
+
- `discord` → `connectors/discord/` (uses Nexus internal tool)
|
|
132
|
+
- `slack` → `connectors/slack/` (uses Nexus internal tool)
|
|
133
|
+
- `trello` → `connectors/trello/` (has curl script examples)
|
|
134
|
+
- `notion` → `connectors/notion/` (has curl script examples)
|
|
135
|
+
- `github` → `connectors/github/` (gh CLI is external, this is just auth setup)
|
|
136
|
+
|
|
137
|
+
Connectors can ship with utility scripts—that doesn't make them tools.
|
|
138
|
+
|
|
139
|
+
### Phase 3: Move pure tools
|
|
140
|
+
|
|
141
|
+
Tools with no connector requirements (or with optional connectors):
|
|
142
|
+
|
|
143
|
+
```
|
|
144
|
+
skills/imsg/ → tools/imsg/
|
|
145
|
+
skills/peekaboo/ → tools/peekaboo/
|
|
146
|
+
skills/qmd/ → tools/qmd/
|
|
147
|
+
skills/tmux/ → tools/tmux/
|
|
148
|
+
skills/aix/ → tools/aix/
|
|
149
|
+
skills/eve/ → tools/eve/
|
|
150
|
+
skills/summarize/ → tools/summarize/
|
|
151
|
+
...
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### Phase 4: Move pure guides
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
skills/computer-use/ → guides/computer-use/
|
|
158
|
+
skills/filesystem/ → guides/filesystem/
|
|
159
|
+
skills/coding-agent/ → guides/coding-agent/
|
|
160
|
+
skills/weather/ → guides/weather/
|
|
161
|
+
...
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Phase 5: Update frontmatter
|
|
165
|
+
|
|
166
|
+
Add `type` field to all SKILL.md files:
|
|
167
|
+
|
|
168
|
+
```yaml
|
|
169
|
+
---
|
|
170
|
+
name: gog
|
|
171
|
+
type: tool
|
|
172
|
+
provides: [email, calendar, drive]
|
|
173
|
+
requires:
|
|
174
|
+
connectors: [google-oauth]
|
|
175
|
+
...
|
|
176
|
+
---
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## Capability Mapping
|
|
182
|
+
|
|
183
|
+
### Core Capabilities (from CAPABILITY_TAXONOMY.md)
|
|
184
|
+
|
|
185
|
+
| Capability | Providers (Tools + Connectors) |
|
|
186
|
+
|------------|-------------------------------|
|
|
187
|
+
| **email** | gog + google-oauth |
|
|
188
|
+
| **calendar** | gog + google-oauth |
|
|
189
|
+
| **messaging** | imsg, eve, discord, slack, wacli + respective connectors |
|
|
190
|
+
| **llm** | gemini, anthropic, openai connectors |
|
|
191
|
+
| **web-search** | brave-search connector, summarize tool |
|
|
192
|
+
| **version-control** | gh CLI + github connector |
|
|
193
|
+
| **notes** | apple-notes, bear-notes, obsidian, notion |
|
|
194
|
+
| **tasks** | things-mac, apple-reminders, trello |
|
|
195
|
+
| **gui-automation** | peekaboo, interpreter (from computer-use) |
|
|
196
|
+
| **credential-management** | 1password |
|
|
197
|
+
| **cloud-sync** | nexus-cloud + cloudflare connector |
|
|
198
|
+
|
|
199
|
+
### Capability → Onboarding Level Mapping
|
|
200
|
+
|
|
201
|
+
| Onboarding Level | Required Capabilities |
|
|
202
|
+
|------------------|----------------------|
|
|
203
|
+
| **Core** | (none - just workspace setup) |
|
|
204
|
+
| **Credential Management** | credential-management |
|
|
205
|
+
| **User Comms** | messaging (any provider) |
|
|
206
|
+
| **User Data** | email, calendar, notes, version-control |
|
|
207
|
+
| **Enable Agents** | llm (any provider) |
|
|
208
|
+
| **Agent Comms** | messaging (agent-owned account) |
|
|
209
|
+
| **Automation** | llm + cron |
|
|
210
|
+
| **Cloud Sync** | cloud-sync |
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## State Architecture Integration
|
|
215
|
+
|
|
216
|
+
### Connectors → state/credentials/
|
|
217
|
+
|
|
218
|
+
Each connector maps to a service folder in `state/credentials/` (runtime credentials):
|
|
219
|
+
|
|
220
|
+
```
|
|
221
|
+
state/credentials/
|
|
222
|
+
├── google/ # For google-oauth connector
|
|
223
|
+
│ ├── config.json # Shared OAuth client config
|
|
224
|
+
│ └── accounts/
|
|
225
|
+
│ └── user@gmail.com/
|
|
226
|
+
├── anthropic/ # For anthropic connector
|
|
227
|
+
│ └── accounts/
|
|
228
|
+
│ └── personal/
|
|
229
|
+
├── discord/ # For discord connector
|
|
230
|
+
│ └── accounts/
|
|
231
|
+
│ └── echo-bot/
|
|
232
|
+
...
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
**Note:** `connectors/` (root level) contains definitions + setup guides. `state/credentials/` contains actual credentials (never distributed).
|
|
236
|
+
|
|
237
|
+
### Tools → state/nexus/skills/{tool}/
|
|
238
|
+
|
|
239
|
+
Each tool has usage tracking:
|
|
240
|
+
|
|
241
|
+
```
|
|
242
|
+
state/nexus/skills/gog/
|
|
243
|
+
├── state.json # configured, verified, lastUsed
|
|
244
|
+
└── usage.log # Invocation history
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
### Guides → state/nexus/skills/{guide}/
|
|
248
|
+
|
|
249
|
+
Guides also get usage tracking (when invoked via `nexus skill`):
|
|
250
|
+
|
|
251
|
+
```
|
|
252
|
+
state/nexus/skills/computer-use/
|
|
253
|
+
├── state.json
|
|
254
|
+
└── usage.log
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
## Next Steps
|
|
260
|
+
|
|
261
|
+
1. [x] Finalize ENTITY_MODEL.md schema
|
|
262
|
+
2. [ ] Create migration script to reorganize folders
|
|
263
|
+
3. [ ] Update each SKILL.md frontmatter with `type` and `provides`/`requires`
|
|
264
|
+
4. [ ] Extract google-oauth connector from gog (only true composite)
|
|
265
|
+
5. [ ] Update nexus CLI to handle new folder structure (tools/, connectors/, guides/)
|
|
266
|
+
6. [ ] Ensure STATE_ARCHITECTURE.md uses `state/credentials/` (not `state/connectors/`)
|