@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,513 @@
|
|
|
1
|
+
# Skill Deep-Dive: weather
|
|
2
|
+
|
|
3
|
+
**Skill**: `weather`
|
|
4
|
+
**Category**: Free Utility
|
|
5
|
+
**Setup Difficulty**: 🟢 Easy
|
|
6
|
+
**Time Estimate**: ~1 minute
|
|
7
|
+
**Platform**: Cross-platform (macOS, Windows, Linux)
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## What It Enables
|
|
12
|
+
|
|
13
|
+
| Capability | Description | Example |
|
|
14
|
+
|------------|-------------|---------|
|
|
15
|
+
| Current weather | Get current conditions for any location | `curl "wttr.in/London?format=3"` |
|
|
16
|
+
| Weather forecast | Multi-day forecast with details | `curl "wttr.in/London"` |
|
|
17
|
+
| Custom formatting | Choose what data to display | `curl "wttr.in/London?format=%l:+%c+%t+%h"` |
|
|
18
|
+
| Airport codes | Query by airport code | `curl "wttr.in/JFK"` |
|
|
19
|
+
| PNG export | Generate weather image | `curl "wttr.in/Berlin.png" -o weather.png` |
|
|
20
|
+
| No API key needed | Free service, no registration | Works immediately |
|
|
21
|
+
| Programmatic access | JSON output for scripting | Open-Meteo API |
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Dependencies
|
|
26
|
+
|
|
27
|
+
### Hard Dependencies (Required)
|
|
28
|
+
- [ ] `curl` — For making HTTP requests (pre-installed on most systems)
|
|
29
|
+
|
|
30
|
+
### Soft Dependencies (Recommended)
|
|
31
|
+
- None
|
|
32
|
+
|
|
33
|
+
### This Skill Enables
|
|
34
|
+
- [ ] Morning briefings — Include weather in daily summaries
|
|
35
|
+
- [ ] Travel planning — Check weather at destination
|
|
36
|
+
- [ ] Context awareness — Agent knows local conditions
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Installation
|
|
41
|
+
|
|
42
|
+
### Prerequisites Check
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# Check for curl (should be pre-installed)
|
|
46
|
+
which curl && echo "✅ curl available" || echo "❌ Need curl"
|
|
47
|
+
|
|
48
|
+
# Verify internet connection
|
|
49
|
+
curl -s wttr.in/London?format=3 && echo "✅ Can access wttr.in"
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Installation Steps
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
# No installation needed! Just curl.
|
|
56
|
+
# Test immediately:
|
|
57
|
+
curl "wttr.in/London?format=3"
|
|
58
|
+
# Output: London: ⛅️ +8°C
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Verification
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
# Verify wttr.in works
|
|
65
|
+
curl -s "wttr.in/?format=3"
|
|
66
|
+
# Should show weather for your location
|
|
67
|
+
|
|
68
|
+
# Verify Open-Meteo works (JSON fallback)
|
|
69
|
+
curl -s "https://api.open-meteo.com/v1/forecast?latitude=51.5&longitude=-0.12¤t_weather=true" | head -5
|
|
70
|
+
# Should return JSON
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Configuration
|
|
76
|
+
|
|
77
|
+
No configuration needed! Works out of the box.
|
|
78
|
+
|
|
79
|
+
### Optional: Create Aliases
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
# Add to ~/.zshrc or ~/.bashrc for convenience
|
|
83
|
+
alias weather='curl "wttr.in/?format=3"'
|
|
84
|
+
alias weather-full='curl "wttr.in/"'
|
|
85
|
+
alias weather-today='curl "wttr.in/?1"'
|
|
86
|
+
|
|
87
|
+
# Usage:
|
|
88
|
+
weather
|
|
89
|
+
weather-full
|
|
90
|
+
weather-today
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Optional: Set Default Location
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
# Set default location
|
|
97
|
+
export WTTR_DEFAULT_CITY="San Francisco"
|
|
98
|
+
|
|
99
|
+
# Use in commands
|
|
100
|
+
curl "wttr.in/$WTTR_DEFAULT_CITY?format=3"
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## User Actions Required
|
|
106
|
+
|
|
107
|
+
None! This skill works immediately.
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Common Failure Points
|
|
112
|
+
|
|
113
|
+
### Failure: "Could not resolve host: wttr.in"
|
|
114
|
+
|
|
115
|
+
**Symptom**: curl returns DNS resolution error
|
|
116
|
+
|
|
117
|
+
**Cause**: No internet connection or DNS issues
|
|
118
|
+
|
|
119
|
+
**Recovery**:
|
|
120
|
+
```bash
|
|
121
|
+
# Check internet connection
|
|
122
|
+
ping google.com
|
|
123
|
+
|
|
124
|
+
# Try alternative DNS
|
|
125
|
+
# Temporarily use Google DNS
|
|
126
|
+
export DNS_SERVER=8.8.8.8
|
|
127
|
+
|
|
128
|
+
# Or use Open-Meteo as fallback
|
|
129
|
+
curl "https://api.open-meteo.com/v1/forecast?latitude=51.5&longitude=-0.12¤t_weather=true"
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
**Prevention**: Ensure internet connection before querying weather
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
### Failure: "Location not found"
|
|
137
|
+
|
|
138
|
+
**Symptom**: wttr.in returns error for city name
|
|
139
|
+
|
|
140
|
+
**Cause**: City name misspelled or not in database
|
|
141
|
+
|
|
142
|
+
**Recovery**:
|
|
143
|
+
```bash
|
|
144
|
+
# Try different formats:
|
|
145
|
+
# With country code
|
|
146
|
+
curl "wttr.in/Springfield,US?format=3"
|
|
147
|
+
|
|
148
|
+
# With state
|
|
149
|
+
curl "wttr.in/Springfield,Illinois?format=3"
|
|
150
|
+
|
|
151
|
+
# Airport code
|
|
152
|
+
curl "wttr.in/SPI?format=3"
|
|
153
|
+
|
|
154
|
+
# Coordinates (lat,long)
|
|
155
|
+
curl "wttr.in/39.78,-89.65?format=3"
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**Prevention**: Use airport codes for unambiguous locations
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
### Failure: Rate limiting
|
|
163
|
+
|
|
164
|
+
**Symptom**: Too many requests, service blocks temporarily
|
|
165
|
+
|
|
166
|
+
**Cause**: Excessive API calls in short time
|
|
167
|
+
|
|
168
|
+
**Recovery**:
|
|
169
|
+
```bash
|
|
170
|
+
# Wait a few minutes, then retry
|
|
171
|
+
|
|
172
|
+
# Or use Open-Meteo as alternative (no rate limits)
|
|
173
|
+
curl "https://api.open-meteo.com/v1/forecast?latitude=51.5&longitude=-0.12¤t_weather=true"
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
**Prevention**: Cache results, don't query in tight loops
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## Automation Opportunities
|
|
181
|
+
|
|
182
|
+
| Step | Automatable? | Tool | Notes |
|
|
183
|
+
|------|--------------|------|-------|
|
|
184
|
+
| Query current weather | ✅ Yes | bash | `curl "wttr.in/?format=3"` |
|
|
185
|
+
| Parse weather data | ✅ Yes | bash | Use `jq` for JSON parsing |
|
|
186
|
+
| Schedule weather checks | ✅ Yes | cron | Morning briefing automation |
|
|
187
|
+
| Generate weather image | ✅ Yes | bash | `curl "wttr.in/City.png"` |
|
|
188
|
+
| Cache results | ✅ Yes | bash | Store in `/tmp` with timestamp |
|
|
189
|
+
|
|
190
|
+
### Automation Script: Morning Weather Briefing
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
#!/bin/bash
|
|
194
|
+
# Get weather for morning briefing
|
|
195
|
+
|
|
196
|
+
LOCATION="${1:-London}" # Default to London if no arg
|
|
197
|
+
|
|
198
|
+
# Get compact weather
|
|
199
|
+
echo "📍 Current weather in $LOCATION:"
|
|
200
|
+
curl -s "wttr.in/$LOCATION?format=%l:+%c+%t+%h+%w"
|
|
201
|
+
echo ""
|
|
202
|
+
|
|
203
|
+
# Get today's forecast
|
|
204
|
+
echo "📅 Today's forecast:"
|
|
205
|
+
curl -s "wttr.in/$LOCATION?format=j1" | jq -r '.weather[0] | "High: \(.maxtempC)°C, Low: \(.mintempC)°C, \(.hourly[0].weatherDesc[0].value)"'
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### Caching Weather Data
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
#!/bin/bash
|
|
212
|
+
# Cache weather to avoid rate limits
|
|
213
|
+
|
|
214
|
+
CACHE_FILE="/tmp/weather-cache-$(date +%Y%m%d-%H).txt"
|
|
215
|
+
CACHE_AGE=3600 # 1 hour
|
|
216
|
+
|
|
217
|
+
if [ -f "$CACHE_FILE" ]; then
|
|
218
|
+
# Cache exists and is fresh
|
|
219
|
+
cat "$CACHE_FILE"
|
|
220
|
+
else
|
|
221
|
+
# Fetch fresh data
|
|
222
|
+
curl -s "wttr.in/?format=3" | tee "$CACHE_FILE"
|
|
223
|
+
|
|
224
|
+
# Clean old cache files
|
|
225
|
+
find /tmp -name "weather-cache-*" -mmin +60 -delete
|
|
226
|
+
fi
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## Wow Moments
|
|
232
|
+
|
|
233
|
+
| Moment | What Happens | When to Demo |
|
|
234
|
+
|--------|--------------|--------------|
|
|
235
|
+
| Instant weather | Get weather with zero setup | First time user asks about weather |
|
|
236
|
+
| Unicode art | Full ASCII art weather display | When showing forecast |
|
|
237
|
+
| PNG export | Generate shareable weather image | When creating reports |
|
|
238
|
+
| Global coverage | Works for any city worldwide | When user travels |
|
|
239
|
+
| No API key hassle | Works immediately without signup | Contrast with other weather APIs |
|
|
240
|
+
|
|
241
|
+
### Demo Script
|
|
242
|
+
|
|
243
|
+
```
|
|
244
|
+
Agent: "Let me check the weather for you. No API key needed - this just works:"
|
|
245
|
+
|
|
246
|
+
curl "wttr.in/?format=3"
|
|
247
|
+
|
|
248
|
+
Agent: "That's your current location. Let me show you the full forecast:"
|
|
249
|
+
|
|
250
|
+
curl "wttr.in/?0"
|
|
251
|
+
|
|
252
|
+
Agent: "And I can check weather anywhere in the world. Where are you traveling?"
|
|
253
|
+
|
|
254
|
+
[User: "Tokyo"]
|
|
255
|
+
|
|
256
|
+
curl "wttr.in/Tokyo?format=%l:+%c+%t+%h+%w"
|
|
257
|
+
|
|
258
|
+
Agent: "I can also generate PNG images for weather reports:"
|
|
259
|
+
|
|
260
|
+
curl "wttr.in/Tokyo.png" -o /tmp/tokyo-weather.png
|
|
261
|
+
open /tmp/tokyo-weather.png
|
|
262
|
+
|
|
263
|
+
Agent: "All of this works instantly, no setup, no API keys."
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
## Usage Examples
|
|
269
|
+
|
|
270
|
+
### Quick One-Liner
|
|
271
|
+
|
|
272
|
+
```bash
|
|
273
|
+
# Current weather, compact
|
|
274
|
+
curl "wttr.in/?format=3"
|
|
275
|
+
# Output: San Francisco: ☀️ +15°C
|
|
276
|
+
|
|
277
|
+
# With more details
|
|
278
|
+
curl "wttr.in/?format=%l:+%c+%t+(feels+like+%f)+%h+humidity+%w+wind"
|
|
279
|
+
# Output: San Francisco: ☀️ +15°C (feels like +13°C) 65% humidity ↙5km/h wind
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
### Full Forecast
|
|
283
|
+
|
|
284
|
+
```bash
|
|
285
|
+
# 3-day forecast with ASCII art
|
|
286
|
+
curl "wttr.in/London"
|
|
287
|
+
|
|
288
|
+
# Today only
|
|
289
|
+
curl "wttr.in/London?0"
|
|
290
|
+
|
|
291
|
+
# Tomorrow only
|
|
292
|
+
curl "wttr.in/London?1"
|
|
293
|
+
|
|
294
|
+
# No ANSI colors (for scripts)
|
|
295
|
+
curl "wttr.in/London?T"
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
### Custom Format Codes
|
|
299
|
+
|
|
300
|
+
```bash
|
|
301
|
+
# Available format codes:
|
|
302
|
+
# %c - Weather condition
|
|
303
|
+
# %t - Temperature
|
|
304
|
+
# %f - Feels like temperature
|
|
305
|
+
# %h - Humidity
|
|
306
|
+
# %w - Wind speed and direction
|
|
307
|
+
# %l - Location
|
|
308
|
+
# %m - Moon phase
|
|
309
|
+
# %M - Moon day
|
|
310
|
+
# %p - Precipitation (mm/3h)
|
|
311
|
+
# %P - Pressure (hPa)
|
|
312
|
+
|
|
313
|
+
# Example: Location with condition, temp, humidity, wind
|
|
314
|
+
curl "wttr.in/Berlin?format=%l:+%c+%t+%h+%w"
|
|
315
|
+
# Output: Berlin: ⛅️ +8°C 71% ↙5km/h
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
### Units
|
|
319
|
+
|
|
320
|
+
```bash
|
|
321
|
+
# Metric (default)
|
|
322
|
+
curl "wttr.in/New+York?m"
|
|
323
|
+
|
|
324
|
+
# USCS (Imperial)
|
|
325
|
+
curl "wttr.in/New+York?u"
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
### PNG Export
|
|
329
|
+
|
|
330
|
+
```bash
|
|
331
|
+
# Generate PNG image
|
|
332
|
+
curl "wttr.in/Paris.png" -o /tmp/paris-weather.png
|
|
333
|
+
|
|
334
|
+
# View it
|
|
335
|
+
open /tmp/paris-weather.png # macOS
|
|
336
|
+
xdg-open /tmp/paris-weather.png # Linux
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
### Airport Codes
|
|
340
|
+
|
|
341
|
+
```bash
|
|
342
|
+
# Query by airport code
|
|
343
|
+
curl "wttr.in/JFK?format=3"
|
|
344
|
+
curl "wttr.in/LAX?format=3"
|
|
345
|
+
curl "wttr.in/SFO?format=3"
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
### Coordinates
|
|
349
|
+
|
|
350
|
+
```bash
|
|
351
|
+
# Query by coordinates (latitude,longitude)
|
|
352
|
+
curl "wttr.in/37.77,-122.42?format=3"
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
---
|
|
356
|
+
|
|
357
|
+
## Open-Meteo: JSON Alternative
|
|
358
|
+
|
|
359
|
+
For programmatic use, Open-Meteo provides structured JSON:
|
|
360
|
+
|
|
361
|
+
```bash
|
|
362
|
+
# Current weather
|
|
363
|
+
curl "https://api.open-meteo.com/v1/forecast?latitude=51.5&longitude=-0.12¤t_weather=true"
|
|
364
|
+
|
|
365
|
+
# Returns JSON:
|
|
366
|
+
{
|
|
367
|
+
"latitude": 51.5,
|
|
368
|
+
"longitude": -0.12,
|
|
369
|
+
"current_weather": {
|
|
370
|
+
"temperature": 8.0,
|
|
371
|
+
"windspeed": 5.0,
|
|
372
|
+
"winddirection": 225,
|
|
373
|
+
"weathercode": 3,
|
|
374
|
+
"time": "2026-01-12T12:00"
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
# Parse with jq
|
|
379
|
+
curl -s "https://api.open-meteo.com/v1/forecast?latitude=51.5&longitude=-0.12¤t_weather=true" | \
|
|
380
|
+
jq '.current_weather | "Temp: \(.temperature)°C, Wind: \(.windspeed)km/h"'
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
### Weather Code Mapping
|
|
384
|
+
|
|
385
|
+
```bash
|
|
386
|
+
# Open-Meteo weather codes:
|
|
387
|
+
# 0: Clear sky
|
|
388
|
+
# 1, 2, 3: Mainly clear, partly cloudy, overcast
|
|
389
|
+
# 45, 48: Fog
|
|
390
|
+
# 51, 53, 55: Drizzle (light, moderate, dense)
|
|
391
|
+
# 61, 63, 65: Rain (slight, moderate, heavy)
|
|
392
|
+
# 71, 73, 75: Snow fall (slight, moderate, heavy)
|
|
393
|
+
# 80, 81, 82: Rain showers
|
|
394
|
+
# 95: Thunderstorm
|
|
395
|
+
# 96, 99: Thunderstorm with hail
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
---
|
|
399
|
+
|
|
400
|
+
## Integration with Other Skills
|
|
401
|
+
|
|
402
|
+
| Skill | Integration | Notes |
|
|
403
|
+
|-------|-------------|-------|
|
|
404
|
+
| **cron** | Schedule morning weather check | Add to daily briefing |
|
|
405
|
+
| **comms** | Include in morning summary | "Weather today: ..." |
|
|
406
|
+
| **qmd** | Index weather data for trends | Track weather over time |
|
|
407
|
+
|
|
408
|
+
---
|
|
409
|
+
|
|
410
|
+
## Testing Checklist
|
|
411
|
+
|
|
412
|
+
- [ ] curl installed: `which curl`
|
|
413
|
+
- [ ] wttr.in accessible: `curl "wttr.in/?format=3"`
|
|
414
|
+
- [ ] Current weather works: `curl "wttr.in/London?format=3"`
|
|
415
|
+
- [ ] Full forecast works: `curl "wttr.in/London"`
|
|
416
|
+
- [ ] Custom format works: `curl "wttr.in/London?format=%l:+%c+%t"`
|
|
417
|
+
- [ ] Airport code works: `curl "wttr.in/JFK?format=3"`
|
|
418
|
+
- [ ] PNG export works: `curl "wttr.in/Berlin.png" -o /tmp/test.png`
|
|
419
|
+
- [ ] Open-Meteo works: `curl "https://api.open-meteo.com/v1/forecast?latitude=51.5&longitude=-0.12¤t_weather=true"`
|
|
420
|
+
- [ ] JSON parsing works: Use jq with Open-Meteo
|
|
421
|
+
- [ ] Caching script works: Test weather cache
|
|
422
|
+
|
|
423
|
+
---
|
|
424
|
+
|
|
425
|
+
## Notes for Onboarding Agent
|
|
426
|
+
|
|
427
|
+
- **Zero setup**: Emphasize this works IMMEDIATELY with no API keys
|
|
428
|
+
- **Always available**: Recommend as a quick utility for all users
|
|
429
|
+
- **When to recommend**: Always! It's free, instant, and useful
|
|
430
|
+
- **When NOT to recommend**: Never - there's no downside
|
|
431
|
+
- **Value proposition**: "Check weather anywhere in the world, no setup needed"
|
|
432
|
+
- **Time estimate**: 0 minutes (works immediately)
|
|
433
|
+
- **Comparison to alternatives**: Most weather APIs require signup, API keys, rate limits. wttr.in is free and instant.
|
|
434
|
+
- **Morning briefing use case**: Perfect for including weather in daily summaries
|
|
435
|
+
- **Travel planning**: Great for checking weather at destinations
|
|
436
|
+
- **Format customization**: Show users they can customize output format
|
|
437
|
+
- **Fallback option**: Mention Open-Meteo for JSON/programmatic use
|
|
438
|
+
|
|
439
|
+
---
|
|
440
|
+
|
|
441
|
+
## Useful Format Presets
|
|
442
|
+
|
|
443
|
+
```bash
|
|
444
|
+
# Save these as aliases or functions
|
|
445
|
+
|
|
446
|
+
# Minimal (just icon and temp)
|
|
447
|
+
wttr_minimal() {
|
|
448
|
+
curl -s "wttr.in/$1?format=%c+%t"
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
# Standard (location, condition, temp, humidity, wind)
|
|
452
|
+
wttr_standard() {
|
|
453
|
+
curl -s "wttr.in/$1?format=%l:+%c+%t+%h+%w"
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
# Detailed (all info)
|
|
457
|
+
wttr_detailed() {
|
|
458
|
+
curl -s "wttr.in/$1?format=%l:+%c+%t+(feels+%f)+%h+humidity+%w+wind+%p+precip+%P+pressure+%m+moon"
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
# Travel (compare two cities)
|
|
462
|
+
wttr_compare() {
|
|
463
|
+
echo "📍 $1:"
|
|
464
|
+
curl -s "wttr.in/$1?format=%c+%t+%h"
|
|
465
|
+
echo "📍 $2:"
|
|
466
|
+
curl -s "wttr.in/$2?format=%c+%t+%h"
|
|
467
|
+
}
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
---
|
|
471
|
+
|
|
472
|
+
## Advanced: Weather Alerts
|
|
473
|
+
|
|
474
|
+
While wttr.in doesn't provide alerts, you can create simple monitoring:
|
|
475
|
+
|
|
476
|
+
```bash
|
|
477
|
+
#!/bin/bash
|
|
478
|
+
# Alert if temperature drops below threshold
|
|
479
|
+
|
|
480
|
+
LOCATION="London"
|
|
481
|
+
THRESHOLD=0 # Alert if below 0°C
|
|
482
|
+
|
|
483
|
+
# Get current temp
|
|
484
|
+
TEMP=$(curl -s "wttr.in/$LOCATION?format=%t" | sed 's/[^0-9-]//g')
|
|
485
|
+
|
|
486
|
+
if [ "$TEMP" -lt "$THRESHOLD" ]; then
|
|
487
|
+
echo "⚠️ ALERT: Temperature in $LOCATION is ${TEMP}°C (below ${THRESHOLD}°C)"
|
|
488
|
+
# Send notification (requires notification skill)
|
|
489
|
+
# notify "Weather Alert" "Temperature in $LOCATION dropped to ${TEMP}°C"
|
|
490
|
+
fi
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
---
|
|
494
|
+
|
|
495
|
+
## Performance Tips
|
|
496
|
+
|
|
497
|
+
1. **Cache results**: Weather doesn't change every second
|
|
498
|
+
2. **Use format codes**: Reduce bandwidth with custom formats
|
|
499
|
+
3. **Batch queries**: Don't query in loops
|
|
500
|
+
4. **Fallback to Open-Meteo**: If wttr.in is slow, use Open-Meteo
|
|
501
|
+
5. **Local caching**: Store in `/tmp` with hourly rotation
|
|
502
|
+
|
|
503
|
+
---
|
|
504
|
+
|
|
505
|
+
## Changelog
|
|
506
|
+
|
|
507
|
+
| Date | Change |
|
|
508
|
+
|------|--------|
|
|
509
|
+
| 2026-01-12 | Initial deep-dive created |
|
|
510
|
+
|
|
511
|
+
---
|
|
512
|
+
|
|
513
|
+
*Template version: 1.0*
|