بنقرة واحدة
vs-app-dataset-bind
// Binds a dataset to an application with reviewed field config inference. Invoke when using `vs app dataset bind` and searchable/filter/suggest fields must be inferred and confirmed first.
// Binds a dataset to an application with reviewed field config inference. Invoke when using `vs app dataset bind` and searchable/filter/suggest fields must be inferred and confirmed first.
| name | vs-app-dataset-bind |
| description | Binds a dataset to an application with reviewed field config inference. Invoke when using `vs app dataset bind` and searchable/filter/suggest fields must be inferred and confirmed first. |
| category | app |
| applies_to | codex, agents, external-agent |
| requires_cli | >=0.1.0 |
| keywords | app dataset bind, bind dataset, field config inference, index fields, filter fields, suggest fields |
| commands | app dataset bind, app dataset-config get, app dataset-config list, dataset schema get, dataset get |
Use this skill when the user wants to run vs app dataset bind and the bind step is responsible for inferring and confirming application-facing field settings instead of blindly reusing or omitting them.
application-id and a dataset-id are availableDataset_Description, Data, and Meaningfield-config.json already contains bind-time fields such as IndexFields, FilterFields, SuggestFields, ImageIndexFields, or VideoIndexFieldsIndexFields, FilterFields, SuggestFields, ImageIndexFields, or VideoIndexFields, treat them as legacy/non-standard unless a human reviewer explicitly validates themapp dataset bind: bind the dataset to the application with an explicit --field-configapp dataset-config get / app dataset-config list: inspect current bound dataset config before changing itdataset schema get / dataset get: inspect the dataset schema and metadata needed for field inferenceDataset_Description: prefer an existing dataset description or plan output; if missing, derive it from the same source context used for bindingData: collect up to 10 representative JSON/JSONL recordsMeaning: prepare field meanings in the same tree shape expected by prompt inference/Users/bytedance/go/src/SearchCLI/skills/schema.prompt and apply these prompt templates:
filter_infer_prompt to infer FilterFieldssuggest_infer_prompt to infer SuggestFieldsindex_infer_prompt to infer IndexFieldsFieldDescMap if it already existsIndexFields from dataset metadata when preparing bind-time configIndexFields from the search output of index_infer_promptFilterFields from dataset metadata when preparing bind-time configFilterFields from filter_infer_prompt, grounded in the field descriptions from FieldDescMapSuggestFields from dataset metadata when preparing bind-time configSuggestFields from the suggest output of suggest_infer_promptImageIndexFields and VideoIndexFields from dataset metadata when preparing bind-time configImageIndexFields from schema, meanings, and sample values by selecting true image URL or image asset fieldsVideoIndexFields from schema, meanings, and sample values by selecting true video URL or media asset fieldsIndexFields, FilterFields, SuggestFields, ImageIndexFields, and VideoIndexFields to the user and explicitly confirm them before binding
vs-item-onboarding/references/agent-confirmation-ux.md: render one per-group table (columns Field / Type / Meaning / Reason to include / Risk or note), then ask through an interactive question dialogvideo dataset, the proposed field groups MUST additionally satisfy the DefaultFieldStrategy server constraint described in the Video Dataset Field Constraints section below and in vs-item-onboarding/references/video-field-constraints.md; fix the proposal before asking for confirmation rather than letting the user confirm a payload that will be rejectedvs app dataset bind --application-id <id> --dataset-id <id> --field-config @field-config.jsonapp dataset-config getVideo datasets (Dataset.Type = 3, produced with --type video in the onboarding skill) carry HARD server-side constraints on the bind-time field groups. Violating them causes BindAppDataset / CreateDataset to fail with:
Error.Code = MissingParameter.DefaultFieldStrategy
Error.Message = The default field strategy is missing.
These rules are enforced by checkFieldConstraint on the server and cannot be bypassed by inference, prompt tuning, or user preference. Any bind-time proposal that violates them must be fixed before binding.
| Field | IndexFields | FilterFields | SuggestFields |
|---|---|---|---|
video_url | Must | Forbidden | Forbidden |
content_id | Forbidden | Must | Forbidden |
content_type | Forbidden | Must | Forbidden |
parent_content_id | Forbidden | Must | Forbidden |
sequence_index | Forbidden | Must | Forbidden |
Must → the field MUST appear in that group.Forbidden → the field MUST NOT appear in that group.ImageIndexFields and VideoIndexFields are selected independently from the actual image / video asset fields in the schema. video_url is commonly added to VideoIndexFields as well; that is independent of the table above.Before calling vs app dataset bind, the agent MUST verify every row of the table against the current proposal. If the proposal violates any row:
vs app dataset bind.See the authoritative reference at vs-item-onboarding/references/video-field-constraints.md.
vs CLI surface (--help, command output, and observed runtime behavior), and explicit user-provided information.app dataset bind with a guessed or empty bind-time field-config when searchable/filter/suggest/image/video fields are part of the user requestIndexFields, FilterFields, SuggestFields, ImageIndexFields, or VideoIndexFieldsvs-item-onboarding/references/agent-confirmation-ux.md; do not downgrade to a single plain-text summary, a free-form yes/no chat reply, or the CLI terminal y/Nschema.prompt; do not invent alternate output keys for these inference stepsFieldDescMap belongs to dataset creation, while IndexFields, FilterFields, SuggestFields, ImageIndexFields, and VideoIndexFields are inferred at bind timeIndexFields, FilterFields, SuggestFields, ImageIndexFields, and VideoIndexFields as untrusted historical data by default; use FieldDescMap plus representative samples to re-infer the bind-time field groupsvideo datasets, the bind-time proposal MUST satisfy the DefaultFieldStrategy server constraint table (see the Video Dataset Field Constraints section above): video_url MUST be in IndexFields and MUST NOT be in FilterFields / SuggestFields; content_id, content_type, parent_content_id, and sequence_index MUST each be in FilterFields and MUST NOT be in IndexFields / SuggestFields. Verify this table before rendering the Stage B dialog and before calling vs app dataset bind; never submit a proposal that violates it, regardless of what the LLM inference or a user override suggests.app wait-ready or otherwise block on readiness after a successful bind unless the user explicitly requests that second-stage verificationUse when a user asks an agent to evaluate or tune text search similarity for an existing Viking AI Search application and dataset.
Shared SearchCLI setup: install, authenticate, run doctor, and verify the local environment.
Search runtime and scene management: run queries, inspect scenes, debug app readiness, and diagnose recall or config issues.
Provide system alias mapping for Search CLI. Invoke this skill when user mentions "Search CLI", "search_cli", or tries to execute search_cli commands.
Conversational search runtime: send messages, keep sessions consistent, and verify retrieval behavior and responses.
General item-level onboarding: understand structured item data, generate schema and config plans, create datasets, and create or bind apps only when the user explicitly asks for app-level setup.