Creating and Managing Teammates with Kubiya CLI
This guide provides detailed instructions for creating, configuring, and interacting with AI teammates using the Kubiya CLI.
Understanding Teammates
Teammates are AI assistants that help you automate tasks, answer questions, and provide guidance in your specific domain. Each teammate can be customized with different capabilities, knowledge, and access to specific tools.
Listing Teammates
To see all available teammates in your organization:
This command displays a list of all teammates with their IDs, names, and descriptions.
For more detailed output in JSON format:
To view teammate capabilities and additional details:
Viewing Teammate Details
To get detailed information about a specific teammate:
This shows the teammate's configuration, capabilities, and associated resources.
For JSON output:
Creating a New Teammate
You can create teammates with specific capabilities tailored to your needs:
Basic Teammate Creation
Advanced Teammate Creation
Creating from JSON/YAML
You can also create teammates from a file:
Example teammate-definition.json
:
Using stdin:
Required Parameters:
--name
: A unique name for your teammate--description
: A description of the teammate's purpose and expertise
Optional Parameters:
--capabilities
: Comma-separated list of capabilities--knowledge-items
: Knowledge items to associate with the teammate--sources
: Sources containing tools the teammate can access--llm-model
: Language model to use (e.g., "gpt-4", "claude-3")--instructions
: Custom instructions for the teammate--avatar
: URL or path to an avatar image--env-vars
: Environment variables for the teammate (KEY=VALUE format)--integrations
: Integrations to enable (aws, github, slack, etc.)--secrets
: Secrets to make available to the teammate
Editing a Teammate
You can edit a teammate in your default text editor, which allows for more comprehensive changes:
This opens your default editor ($EDITOR) with the teammate's configuration in JSON format, allowing you to make changes and save them.
Updating a Teammate
To modify an existing teammate's configuration through command line:
Adding and Removing Resources
Add or remove sources:
Add or remove environment variables:
Add or remove secrets:
Add or remove integrations:
Changing the LLM Model
Updating Instructions
Deleting a Teammate
To remove a teammate from your organization:
You'll be prompted to confirm the deletion.
With force option to skip confirmation:
Chatting with Teammates
Once you've created teammates, you can interact with them in various ways:
Interactive Chat
Start an interactive chat session with a specific teammate:
This opens a chat session where you can have a conversation with the teammate.
One-off Questions
Ask a specific question without starting an interactive session:
Providing Context
You can provide context to help the teammate understand your question better:
Or use stdin to pipe data:
Managing Chat Sessions
Continuing Previous Sessions
To continue a previous conversation with a teammate:
Clearing Session Context
To start fresh while keeping the same session:
Language Models and Capabilities
Kubiya supports various language models for teammates:
Available Models
Model-Specific Instructions
Different models might require different instruction formats. The CLI handles these differences automatically:
Environment Variables and Integrations
Setting Environment Variables
Environment variables provide configuration to your teammates:
Managing Integrations
Enable integrations with external systems:
Available integrations include:
aws
: Amazon Web Serviceskubernetes
ork8s
: Kubernetes clustersgithub
: GitHub repositoriesgitlab
: GitLab repositoriesjira
: Jira issue trackingslack
: Slack workspaceteams
: Microsoft Teamsdatadog
: Datadog monitoringprometheus
: Prometheus metricsjenkins
: Jenkins CI/CDterraform
: Terraform infrastructure
Creating Specialized Teammates
Here are examples of creating teammates for specific roles:
DevOps Teammate
Security Teammate
Database Teammate
Best Practices
Create Specialized Teammates: Rather than having one general-purpose teammate, create multiple specialized teammates for different domains.
Provide Detailed Descriptions: Include clear descriptions when creating teammates to help users understand their capabilities.
Associate Relevant Sources: Connect teammates with the appropriate tool sources to enhance their capabilities.
Utilize Knowledge Items: Add relevant knowledge items to teammates to improve their domain expertise.
Use Environment Variables: Use environment variables to configure teammate behavior and default settings.
Choose the Right Model: Select appropriate LLM models based on the teammate's purpose and complexity.
Provide Custom Instructions: Give detailed instructions to shape the teammate's behavior and response style.
Enable Relevant Integrations: Only enable the integrations that the teammate needs for its role.
Start with Templates: Use pre-built templates as a starting point for common teammate roles.
End-to-End Example: Creating and Using a Cloud Infrastructure Teammate
Here's a complete workflow for creating and interacting with a specialized cloud infrastructure teammate:
Step 1: Create a New Teammate
Step 2: Get the Teammate ID
Step 3: Add Knowledge Items to the Teammate
Step 4: Add Necessary Secrets
Step 5: Review Teammate Configuration
Step 6: Start an Interactive Chat
Step 7: Ask Specific Questions with Context
Step 8: Update the Teammate as Needed
If you need to adjust the teammate's capabilities or configuration:
Or via command line:
For more information about specific teammate capabilities and configuration options, see the official documentation.
Was this helpful?