Skip to content

RasaHQ/rasa-agent-skills

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rasa Agent Skills

A collection of skills for AI coding agents working with Rasa CALM. Skills are packaged instructions that guide agents through building, configuring, and testing Rasa conversational AI agents.

Skills follow the Agent Skills format.

Versioning

Each skill has two version fields in its frontmatter:

  • version — the version of the skill package itself (follows semver, e.g. "0.1.0").
  • rasa_version — the minimum Rasa Pro version required for the features the skill describes, expressed as a semver range (e.g. ">=3.14.0").

When a skill is updated with content that covers a feature introduced in a newer Rasa release, bump rasa_version to match. For example, if a skill gains a section about a feature added in Rasa 3.17.0, update rasa_version from ">=3.14.0" to ">=3.17.0". If a feature is later removed or replaced, add an upper bound (e.g. ">=3.14.0,<3.17.0").

Available Skills

rasa-building-flows

Build conversation flows for Rasa CALM agents in YAML. Covers flow design, branching logic, collect and action steps, descriptions, and connecting flows with call and link steps.

Use when:

  • Creating or editing conversation flows
  • Designing flow architecture and scoping flows
  • Adding branching logic with conditions
  • Writing flow and collect step descriptions
  • Connecting flows with call and link steps

Topics covered:

  • Scoping a flow (one user goal per flow)
  • File organization and naming conventions
  • Writing effective descriptions for flows and collect steps
  • Slots, collect steps, and rejections
  • Branching and conditions (if/then/else)
  • call vs link for connecting flows
  • Flow guards

rasa-calling-mcp-tools-from-flows

Call MCP tools directly from Rasa flow steps. Replaces custom action code for simple API integrations by using a call step with explicit input/output mappings.

Use when:

  • Invoking an MCP tool via a call step in a flow
  • Mapping slot values to tool parameters
  • Extracting tool results (structured or unstructured) into slots

Topics covered:

  • call step with mcp_server and mapping
  • Input mapping (param + slot)
  • Output mapping (slot + value with Jinja2 expressions)
  • Structured vs unstructured tool result formats

rasa-configuring-assistant

Configure config.yml and endpoints.yml for Rasa CALM agents. Covers pipeline components, policies, action endpoint, and language settings.

Use when:

  • Setting up a new Rasa CALM project
  • Modifying pipeline components (command generators, flow retrieval)
  • Configuring policies (FlowPolicy)
  • Setting the action endpoint or language

Topics covered:

  • Minimal CALM configuration
  • Pipeline (command generators, embeddings, input limits)
  • Policies (FlowPolicy)
  • Language and multilingual setup
  • Model groups, action endpoint, NLG server

rasa-configuring-mcp-server

Configure MCP (Model Context Protocol) servers in endpoints.yml. Covers server definitions, authentication methods, and connecting to multiple external services.

Use when:

  • Defining MCP servers in endpoints.yml
  • Setting up authentication (API key, OAuth 2.0, pre-issued token)
  • Connecting to multiple external services

Topics covered:

  • Server definition (name, url, type)
  • API key authentication (default and custom headers)
  • OAuth 2.0 (client credentials)
  • Pre-issued token authentication
  • Environment variable syntax for secrets

rasa-configuring-model-groups

Configure model_groups in endpoints.yml for LLM and embedding providers. Covers single and multi-deployment setups, routing strategies, failover, self-hosted models, and caching.

Use when:

  • Adding or changing LLM providers (OpenAI, Azure, self-hosted)
  • Setting up multi-LLM routing and failover
  • Configuring embedding providers for flow retrieval or enterprise search
  • Enabling response caching

Topics covered:

  • Supported providers (OpenAI, Azure, self-hosted, Ollama, LiteLLM)
  • Single and multi-deployment configuration
  • Routing strategies (shuffle, least-busy, latency, cost, usage)
  • Router customization and Redis-backed strategies
  • Self-hosted models (vLLM, Llama.cpp, Ollama)

rasa-managing-slots

Define and manage slots in Rasa CALM domain files. Covers slot types, mappings, validation, and how slots are filled and persist across flows.

Use when:

  • Creating or editing slot definitions
  • Choosing slot types and mappings
  • Configuring slot validation
  • Controlling how slots get filled and persist

Topics covered:

  • Slot types (text, bool, categorical, float, any, list)
  • Slot mappings (from_llm, controlled, from_entity, from_intent)
  • Initial values and persistence
  • Validation strategies (domain-level, flow-level, custom actions)
  • Naming conventions

rasa-rephrasing-responses

Enable and configure the LLM-powered Contextual Response Rephraser. Covers endpoints.yml setup, per-response metadata, and prompt customization.

Use when:

  • Setting up or tuning the Contextual Response Rephraser
  • Choosing rephrasing scope (all responses vs specific ones)
  • Customizing rephrasing prompts

Topics covered:

  • Endpoints configuration (nlg: type: rephrase)
  • Conversation history modes (summary vs transcript)
  • Rephrasing scope (specific, all, all-except)
  • Global and per-response prompt customization

rasa-setting-up-a2a-agents

Connect external sub agents to a Rasa CALM assistant via the A2A (Agent-to-Agent) protocol. Covers agent card configuration, authentication, flow invocation, and input/output customization.

Use when:

  • Adding an external agent connected via A2A
  • Configuring an agent card and authentication
  • Invoking an external sub agent from a flow
  • Customizing input/output processing with a Python module

Topics covered:

  • Directory structure and config.yml setup
  • Agent card (obtaining and referencing)
  • Authentication (API key, OAuth 2.0, pre-issued token)
  • Invoking from a flow with call step
  • Task vs Message response patterns
  • Custom A2AAgent class (process_input, process_output)

rasa-setting-up-enterprise-search

Add knowledge-base search to a Rasa CALM agent using EnterpriseSearchPolicy. Connect vector stores (Faiss, Milvus, Qdrant) and configure generative or extractive search.

Use when:

  • Setting up RAG / enterprise search
  • Connecting a vector store
  • Overriding pattern_search
  • Implementing a custom information retriever

Topics covered:

  • SearchReadyLLMCommandGenerator setup
  • EnterpriseSearchPolicy (generative and extractive modes)
  • Triggering search via pattern_search or from within flows
  • Vector stores (Faiss, Milvus, Qdrant)
  • Prompt customization
  • Custom information retrievers

rasa-setting-up-react-agents

Configure ReAct sub agents that dynamically select MCP tools based on conversation context. Covers general-purpose and task-specific agent types, prompt customization, tool filtering, and custom Python tools.

Use when:

  • Creating a ReAct sub agent that uses MCP tools
  • Choosing between general-purpose and task-specific agents
  • Filtering which MCP tools an agent can access
  • Customizing prompts, input/output processing, or adding custom tools

Topics covered:

  • Directory structure and config.yml setup
  • General-purpose vs task-specific agents (completion mechanisms)
  • Tool filtering (include_tools, exclude_tools)
  • Invoking from a flow (with and without exit_if)
  • Custom prompt templates (Jinja2)
  • Custom agent class (MCPOpenAgent, MCPTaskAgent)
  • Adding custom Python tools (get_custom_tool_definitions)

rasa-writing-custom-actions

Write custom actions in Python using the Rasa SDK. Covers API calls from flows, slot validation actions, and dynamic ask actions.

Use when:

  • Creating or editing custom action files
  • Calling external APIs from flows
  • Implementing slot validation actions (validate_{slot_name})
  • Building dynamic ask actions (action_ask_{slot_name})

Topics covered:

  • Action class structure (name() and run())
  • Working with the tracker (get_slot, sender_id)
  • Error handling patterns
  • Returning events (SlotSet, FollowupAction, etc.)
  • Using the dispatcher
  • Custom ask actions and slot validation actions
  • Domain registration

rasa-writing-e2e-tests

Write and maintain end-to-end tests for Rasa CALM in YAML. Covers test cases, assertions, fixtures, stubbing custom actions, and validating flows, slots, and generative responses.

Use when:

  • Creating or editing E2E test cases
  • Adding assertions for flows, slots, and actions
  • Setting up fixtures and mocking datetime
  • Stubbing custom actions for isolated testing

Topics covered:

  • Test case structure (user, bot, utter, slot_was_set steps)
  • Assertions (flow_started, flow_completed, action_executed, bot_uttered)
  • Generative response assertions (relevance and grounding)
  • Fixtures and conftest.yml
  • Stubbing custom actions
  • Running tests and coverage reports

rasa-writing-responses

Write response templates in Rasa CALM domain files. Covers variations, buttons, images, conditional and channel-specific content, and overriding default pattern responses.

Use when:

  • Creating or editing response templates
  • Adding variations, buttons, or images
  • Writing conditional or channel-specific responses
  • Overriding default pattern responses
  • Enabling response rephrasing

Topics covered:

  • Response basics and slot variables
  • Response variations
  • Rich responses (buttons, images, custom payloads)
  • Conditional and channel-specific variations
  • Overriding default pattern responses
  • Voice-specific properties (allow_interruptions)

Installation

TODO

Usage

Skills are automatically available once installed. The agent will use them when relevant tasks are detected.

Examples:

Create a flow for booking an appointment
Add a custom action to fetch order status from our API
Set up enterprise search with Qdrant
Write E2E tests for the transfer money flow

Skill Structure

Each skill contains:

  • SKILL.md - Instructions for the agent
  • references/ - Supporting documentation (optional)

License

Apache-2.0

About

A collection of skills for AI coding agents working with Rasa CALM

Resources

License

Stars

Watchers

Forks

Contributors