Gestion des données avec XDB CLI

VérifiéSûr

Utilisez l'interface en ligne de commande XDB pour stocker, interroger et gérer des données structurées avec un système d'adressage basé sur des URI. Il prend en charge des schémas flexibles, stricts ou dynamiques et une organisation par espace de noms pour différents projets, utilisateurs ou agents. Cet outil est utile pour persister des données issues de scraping web, suivi de tickets, métriques, logs ou mémoire de conversations.

Spar Skills Guide Bot
Data & IAIntermédiaire
8002/06/2026
Claude Code
#xdb#data-management#cli#schema#storage

Recommandé pour

Notre avis

Cette compétence permet de stocker et de gérer des données structurées via un outil en ligne de commande avec des définitions de schémas flexibles et une organisation par espace de noms.

Points forts

  • Supporte les modes de schéma flexible, strict et dynamique.
  • Utilise un adressage de type URI pour accéder aux données.
  • Propose une stratégie d'espace de noms pour la séparation multi-projets ou multi-utilisateurs.
  • Permet les champs imbriqués et divers types de données.

Limites

  • Nécessite l'installation et la configuration de l'outil CLI XDB.
  • Pas une base de données complète ; peut manquer de capacités de requêtage avancées.
  • Courbe d'apprentissage pour le format URI et les modes de schéma.
Quand l'utiliser

Utilisez-le lorsque vous avez besoin d'un outil CLI simple et conscient des schémas pour persister et organiser des données structurées entre projets ou agents.

Quand l'éviter

Évitez-le lorsque vous avez besoin de requêtes relationnelles complexes, de transactions ou lorsque le volume de données dépasse la capacité de l'outil CLI.

Analyse de sécurité

Sûr
Score qualité90/100

The skill provides instructions for using the XDB CLI tool to manage structured data. It does not contain any commands that could be destructive or exfiltrating. The use of Bash and Write is limited to legitimate data management tasks.

Aucun point d'attention détecté

Exemples

Store scraped page data
Use xdb to store the scraped page title and URL in namespace agent.scraper, schema pages, with a randomized id. Use flexible mode.
Create issue tracking schema
Define a strict schema called 'issues' under namespace project.myapp with fields: title (STRING), status (STRING), priority (INTEGER), assignee (STRING). Then create the schema using xdb make-schema.
Track conversation memory
I need to store conversation history for an agent. Use xdb with dynamic mode under namespace agent.memory, schema conversations. Store each user message with a unique id, timestamp, content, and role.

name: using-xdb description: Use XDB CLI to store and manage structured data. Use when you need to persist data, create schemas for tracking information (issues, scraped data, metrics, logs), or organize data by namespace for different projects/users/contexts. allowed-tools: Bash(xdb:*), Write

Using XDB CLI for Data Management

Run xdb --help for command syntax and flags.

URI Format

xdb://NAMESPACE/SCHEMA/ID#ATTRIBUTE

| Component | Required | Example | | --------- | ------------ | --------------------------------------------- | | Namespace | Yes | agent.scraper, user.john, project.myapp | | Schema | For data ops | articles, issues, tasks | | ID | For records | article-123, issue-1 | | Attribute | Optional | #title, #status, #author.name |

Namespace Strategy

| Pattern | Use Case | Example | | ---------------- | ------------------- | ----------------------------------- | | agent.<name> | Agent-specific data | agent.scraper, agent.researcher | | user.<id> | Per-user data | user.john, user.admin | | project.<name> | Project data | project.webapp, project.api | | team.<name> | Team shared data | team.engineering, team.support | | org.<name> | Organization data | org.acme, org.internal |

Schema Definition Format

Modes:

| Mode | Behavior | | ---------- | ------------------------------------------------------- | | flexible | Accepts any attributes (default, no schema file needed) | | strict | Only allows attributes defined in schema | | dynamic | Auto-infers and adds new fields from data |

Flexible schema:

xdb make-schema xdb://agent.scraper/articles

Strict or dynamic schema with JSON definition:

{
  "name": "Article",
  "mode": "strict",
  "fields": [
    { "name": "title", "type": "STRING" },
    { "name": "tags", "type": "ARRAY", "array_of": "STRING" },
    {
      "name": "metadata",
      "type": "MAP",
      "map_key": "STRING",
      "map_value": "STRING"
    },
    { "name": "author.name", "type": "STRING" },
    { "name": "author.email", "type": "STRING" }
  ]
}

Types: STRING, INTEGER, UNSIGNED, FLOAT, BOOLEAN, TIME, BYTES, ARRAY, MAP

Nested fields: Use dot notation (author.name, stats.views)

Nanoid Helper

Generate unique IDs:

nanoid() { openssl rand -base64 12 | tr -dc 'a-zA-Z0-9' | head -c 21; }

Example Use Cases

| Use Case | Mode | Namespace | Schema | | ------------------- | ---------- | ------------------ | --------------- | | Web scraping | flexible | agent.scraper | pages | | Issue tracking | strict | project.<name> | issues | | Research notes | dynamic | agent.researcher | notes | | API cache | flexible | agent.api | cache | | Conversation memory | dynamic | agent.memory | conversations | | Bookmarks | flexible | user.<id> | bookmarks | | Code snippets | strict | team.<name> | snippets | | Meeting notes | dynamic | org.<name> | meetings | | Error logs | dynamic | project.<name> | errors | | Feature flags | strict | project.<name> | flags |

Workflow Examples

Skills similaires