Skip to main content

connect-data

Collect a person's own data with the Vana CLI. Use for requests such as "use Vana to connect my data", source collection or refresh, and inspection of collected results. Route a missing connector to create-connector.

Source facts

Repository
vana-com/vana-cli
Last source activity
October 30, 2026 at 23:40
Detected SKILL.md language
English
Stars
2
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
connect-data
description
Collect a person's own data with the Vana CLI. Use for requests such as "use Vana to connect my data", source collection or refresh, and inspection of collected results. Route a missing connector to create-connector.
# Connect personal data Read workflows with `vana skills show <id> --json`. The response includes full instructions and required reference content; installation into the agent's harness is optional. Use `connect-data`, `create-connector` or `builder` as the requested goal needs them. Use the Vana CLI for discovery, collection, owner identity and results. The person completes provider sign-in and human checks in the browser when needed. App access to collected data is a separate Builder workflow. Start from the person's data goal, such as "Use Vana to collect my highlights". Select and load the required skills yourself. Continue through discovery, any necessary connector authoring, collection, and result inspection. The person does not need to name a skill, choose a helper, or supply another implementation prompt. Ask for account/data choices and human authentication. The public [walkthrough](https://github.com/vana-com/vana-cli/blob/main/skills/README.md) pairs the user's part with the commands. ## Select the CLI and owner context Check the available CLI: ```bash vana --version vana --help ``` If it is missing, use the [official installation instructions](https://github.com/vana-com/vana-cli#readme). The published package is `vana-cli`, with a `vana` binary. When testing local changes, run these from the actual `vana-cli` checkout: ```bash pnpm build node dist/cli/bin.js --help ``` Use that checkout's absolute `dist/cli/bin.js` path in place of `vana` for the remaining commands. Keep the same entry point throughout the task. Preserve the selected `VANA_HOME`, Account deployment (`VANA_ENV` or `VANA_ACCOUNT_URL`) and network. Carry the same `--network` option through commands when a network was explicitly selected. Check before collecting: ```bash vana whoami --json vana status --json vana sources --json vana connectors list --json ``` `vana whoami` identifies the person. `vana app whoami` identifies an app and does not select the person's login. A Personal Server session alone is not an authenticated Vana Account. Inspect the selected server and any servers listed under other accounts before writing data. For installation or runtime problems, inspect `vana doctor` and `vana logs`. If the browser runtime is missing and collection needs it, run `vana setup --yes`. Use the CLI's recovery command with its environment and network intact. ## Select the source Use `sources` for available sources and `connectors list` for saved checkout paths. Replace `<source>` with the selected key and inspect it: ```bash vana sources <source> --json ``` When changing a local connector, read its manifest from the path reported by `connectors list`. If the source is missing or needs a code change, read Create Connector: ```bash vana skills show create-connector --json ``` Read its returned `instructions` and required `resources`. That skill owns the current PDP-Connect authoring and local-checkout workflow. Check upstream's existing connectors before deciding a provider needs a new implementation; an empty or unavailable catalog alone does not establish that. Reuse discovery already completed in this task rather than repeating the same search. Connector creation returns a directory, connector key and selected streams to this collection workflow; it does not require Vana sign-in. ## Prepare Vana before collection Once the connector is available, establish the Vana account and intended server BEFORE requesting source credentials or running the provider. Reuse a valid session. If signed out, run `vana login --json`, relay the returned browser URI, and wait for the person to finish signing in there. No code is entered in the terminal. Then check `vana whoami --json` and `vana status --json` in the same home, Account deployment and network. JSON login does not start a server or approve its CLI session. Follow the reported server-start or approval command; an existing server owned by another account is not this person's destination. If `VANA_PS_URL` or `VANA_PERSONAL_SERVER_URL` explicitly selects a server, use the collection command's reported sign-in remedy: it targets Account sign-in and preserves the selected server in the collection retry command. Every collection entry checks readiness. Automated runs return `needs_input` (exit 7) for Vana sign-in or server approval, or `personal_server_unavailable` (exit 5) for an unavailable/unverified destination, with `reason` and `remedy`. Follow the remedy, then retry the ORIGINAL collection command including `--from`, `--streams` and its context. These outcomes precede connector credential prompts and provider reads. A bare `VANA_SESSION_TOKEN` has no verified owner identity; use a saved Account sign-in instead. Do not collect anonymously and try to assign the export to an account later. ## Collect and handle human input For an agent-controlled browser or protected local credential handoff, run collection in a background process you can inspect while the person signs in: ```bash vana connect <source> --json --ipc ``` For a Collection Profile source, select only the requested manifest stream names with `--streams <stream,stream>`. An explicit source is required. For a local implementation, add `--from /absolute/path/to/data-connectors` without registering a persistent override for a one-off trial. For a person entering a token or password, give them the exact interactive command to run in their own terminal, with the real source/path/streams and selected network. Explain where to paste the secret and that hidden input does not echo. Verify secret fields have password metadata in the connector's interaction schema. Keep the secret out of chat, command arguments, scripts, and logs. A credential form in the chat is not the local terminal prompt. Keep progress visible. In agent mode, relay meaningful stage/count events; in human mode, leave the CLI's progress on the terminal. `vana connect` collects and ingests in one run. The upstream developer runner is optional diagnostics, not a prerequisite that collects from the provider a second time. Read the emitted events until the process finishes. A Collection Profile connector can request browser sign-in through `headed-required` and then a `needs-input` event. Complete that handoff rather than treating every browser source as unsupported by agents. For `needs-input` events with `pendingInputPath` and `responseInputPath`: 1. Read the exact pending file and its requested fields. 2. Have the person complete browser sign-in or a human check. For secret fields, use an available protected local input channel. If none is available, stop/cancel this waiting run and hand over the interactive terminal command. 3. Write the resulting JSON to the exact response path using a file API. Restrict credential files to the current user; keep secrets out of chat, shell arguments, and logs. 4. For a Collection Profile manual action with no fields, write `{}` only after the person confirms completion. To decline, write `{"status":"cancelled"}`. 5. Continue reading events. Further prompts may follow, and input can expire. Use the running CLI's message for legacy connectors that require a manual terminal or browser handoff. An intermediate event is not a successful collection. `--no-input` refuses human prompts, but it can still collect and upload data when a session is available. Use `status` and `data` commands for inspection. ## Verify the result Distinguish `connected_and_ingested` from `connected_local_only`. Local collection does not prove Personal Server ingestion or delivery to an app. Inspect the result and logs without starting another collection: ```bash vana data list vana data show <source> vana data path <source> vana logs <source> ``` Summarize the requested records, any skipped streams, and whether ingestion succeeded. Preserve saved results and follow the reported recovery action on failure. Do not rerun automatically just to obtain a cleaner transcript. Inspect private records locally and report counts/status instead of copying payloads into chat or a repository. Compare recognizable records and any independent provider counts before claiming completeness. If the person wants an app to consume the data, read `vana skills show builder --json` and follow its instructions and resources. Keep app identity, explicit consent and paid app reads separate from owner-side collection.
View on GitHub