tavus-engineering/tavus-skills

tavus-cvi-knowledge

Add knowledge bases and persistent memories to Tavus CVI personas. Use when uploading documents for RAG, enabling personas to reference PDFs/websites, persisting context across conversations, or building personas that remember users.

First seen Jan 26, 2026

Installation

$ npx skills add tavus-engineering/tavus-skills --skill tavus-cvi-knowledge

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from tavus-engineering/tavus-skills.

npx skills add tavus-engineering/tavus-skills

Browse all from tavus-engineering/tavus-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Also listed on

Alternate registries and mirrors of this skill.

Repository health

Stars 8
License MIT
Default branch main
Open issues 0
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 5,234 B
  • docs SUMMARY.md 260 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 53 installs

SKILL.md

Tavus CVI Knowledge Base & Memories

Give your personas access to documents and persistent memory.

Knowledge Base (RAG)

Upload documents that personas can reference during conversations.

Step 1: Create Document

curl -X POST https://tavusapi.com/v2/documents \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "document_name": "Product FAQ",
    "document_url": "https://example.com/faq.pdf",
    "tags": ["support", "faq"]
  }'

Response:

{
  "document_id": "d1234567890",
  "status": "processing"
}

Supported Sources

  • PDFs: Direct URL to PDF file
  • Text files: Plain text documents
  • Websites: Single page or crawled

Website Crawling

Single page (default):

{
  "document_name": "Landing Page",
  "document_url": "https://example.com/features"
}

Multi-page crawl:

{
  "document_name": "Full Docs",
  "document_url": "https://docs.example.com",
  "crawl_pages": true
}

Step 2: Use in Conversation

By document IDs:

{
  "persona_id": "p123",
  "replica_id": "r456",
  "document_ids": ["d1234567890", "d0987654321"]
}

By tags:

{
  "persona_id": "p123",
  "replica_id": "r456",
  "document_tags": ["support", "faq"]
}

Attach to Persona (Always Available)

Documents available in ALL conversations with this persona:

curl -X POST https://tavusapi.com/v2/personas \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "persona_name": "Support Agent",
    "pipeline_mode": "full",
    "system_prompt": "You are a helpful support agent...",
    "document_ids": ["d1234567890"],
    "document_tags": ["support"]
  }'

Retrieval Strategy

Optimize search speed vs quality:

{
  "persona_id": "p123",
  "document_ids": ["d123"],
  "retrieval_strategy": "balanced"
}

Options:

  • speed - Fastest, good for simple lookups
  • quality - Best results, slower
  • balanced - Default, good tradeoff

Manage Documents

# List documents
curl https://tavusapi.com/v2/documents \
  -H "x-api-key: YOUR_API_KEY"

# Get document status
curl https://tavusapi.com/v2/documents/{document_id} \
  -H "x-api-key: YOUR_API_KEY"

# Delete document
curl -X DELETE https://tavusapi.com/v2/documents/{document_id} \
  -H "x-api-key: YOUR_API_KEY"

Memories (Persistent Context)

Remember information across conversations with the same user.

How It Works

  1. Assign a memory_store key to a conversation
  2. Persona forms memories during conversation
  3. Future conversations with same key access those memories

Create Conversation with Memory

{
  "persona_id": "p123",
  "replica_id": "r456",
  "memory_stores": ["user_alice_persona_sales"]
}

Memory Store Naming

Use consistent, unique identifiers:

  • user{userid}persona{persona_id} - Per user, per persona
  • user{userid} - Per user across personas
  • session{sessionid} - Per session

Important: Don't use persona names in keys (they might change).

Example: Returning User

First conversation:

{
  "persona_id": "p_coach",
  "memory_stores": ["user_alice_coaching"]
}

User mentions: "I'm training for a marathon in April."

Second conversation (days later):

{
  "persona_id": "p_coach", 
  "memory_stores": ["user_alice_coaching"]
}

Persona remembers the marathon goal and can reference it.

Multiple Memory Stores

Share memories across contexts:

{
  "persona_id": "p123",
  "memory_stores": [
    "user_alice_global",
    "user_alice_sales_specific"
  ]
}

Use Case: Multi-Persona Memory

User talks to Sales persona, then Support persona:

// Sales conversation
{
  "persona_id": "p_sales",
  "memory_stores": ["user_alice"]
}

// Support conversation (later)
{
  "persona_id": "p_support",
  "memory_stores": ["user_alice"]
}

Support persona knows what Sales discussed.


Combining Knowledge + Memories

Full-featured support agent:

# Create persona with knowledge base
curl -X POST https://tavusapi.com/v2/personas \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "persona_name": "Premium Support",
    "pipeline_mode": "full",
    "system_prompt": "You are a premium support agent. Reference the knowledge base for product info. Remember user preferences and past issues.",
    "document_tags": ["support", "product-docs"],
    "default_replica_id": "rfe12d8b9597"
  }'
# Start conversation with user memory
curl -X POST https://tavusapi.com/v2/conversations \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "persona_id": "p_premium_support",
    "memory_stores": ["user_12345_support"],
    "document_ids": ["d_urgent_issue_docs"]
  }'

Now the persona can:

  • Look up product info from documents
  • Remember this user's past issues
  • Build on previous conversations