Install
$ agentstack add skill-rasahq-rasa-agent-skills-rasa-building-skills ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Building Skills for a Rasa Assistant
Terminology
In Rasa, a skill is a self-contained module inside a Rasa assistant that packages a specific capability or domain (e.g. booking, payments, order tracking).
The term "skill" can also refer to a IDE agent skill (SKILL.md). Use conversation context to determine which meaning the user intends. If ambiguous, ask.
A Rasa skill defines its interface (slots / memory) and logic (flows, prompts, actions, or tools). It is implemented as either:
- Flow-based — a bundle of flows and slots for guided, deterministic behavior.
- Sub-agent — a sub-agent that plans and acts autonomously using tools.
- Hybrid — an orchestrator flow that delegates some steps to a sub-agent.
Workflow
- Clarify what the user wants the Rasa assistant to do.
- Choose the implementation approach (see "Choosing the approach").
- Design the skill boundary — slots, flows, responses, actions, sub-agents
(see "Designing the skill boundary").
- Implement using the appropriate skill:
- Flow-based →
rasa-building-flows - ReAct sub-agent →
rasa-setting-up-react-agents - A2A sub-agent →
rasa-setting-up-a2a-agents
- Ensure the new flows or sub-agents are reachable (via
call/linksteps or
triggerable by their description).
Choosing the approach
The first design choice is how autonomous the skill should be:
if high-risk domain (payments, auth, KYC, PII, compliance):
use flow-based
elif business logic must be tightly controlled (strict validation, fixed steps):
use flow-based
elif most steps are deterministic but some need autonomy:
use hybrid (flow orchestrates, sub-agent handles open-ended steps)
else:
use sub-agent (start autonomous, add flows later for guardrails as needed)
If the approach is not obvious from context, ask the user whether they want more control over the conversation (flow-based) or a more autonomous experience (sub-agent). Frame it in terms of the trade-off: flows give predictability and auditability, sub-agents give flexibility and a more natural interaction. This is especially important when the user asks for multiple skills at once — each skill may warrant a different approach, so confirm the intent per skill before implementing.
Designing the skill boundary
Before implementing, outline:
- Slots — the skill's interface. See
rasa-managing-slots. - Flows — one per user goal. See
rasa-building-flows. - Responses — See
rasa-writing-responses. - Actions — backend operations. See
rasa-writing-custom-actions. - Sub-agents — MCP servers and tools. See
rasa-setting-up-react-agentsor
rasa-setting-up-a2a-agents.
File organization
A single-flow skill can live in one file (e.g. data/track_order.yml). When a skill contains multiple flows, group them in a subdirectory named after the skill:
data/
├── track_order.yml # single-flow skill
├── booking/ # multi-flow skill
│ ├── book_flight.yml
│ ├── select_destination.yml
│ └── choose_seats.yml
├── payments/
│ ├── process_payment.yml
│ └── verify_payment.yml
domain/
├── booking.yml
├── payments.yml
sub_agents/
├── policy_search/
│ └── config.yml
Related skills
| Skill | Use for | |-------|---------| | rasa-building-flows | Writing flows, branching logic, call/link steps | | rasa-managing-slots | Defining slots, types, mappings, persistence | | rasa-writing-responses | Bot responses and utter_ask_* templates | | rasa-writing-custom-actions | Custom actions and validation actions | | rasa-setting-up-react-agents | ReAct sub-agents with MCP tools | | rasa-setting-up-a2a-agents | External sub-agents via A2A protocol | | rasa-calling-mcp-tools-from-flows | Invoking MCP tools directly from flow steps | | rasa-configuring-mcp-server | MCP server setup in endpoints.yml | | rasa-configuring-assistant | Pipeline, policies, config.yml / endpoints.yml | | rasa-writing-e2e-tests | End-to-end conversation tests |
Examples
For worked examples (flight booking, stock research, payments, insurance claims, Jira), see [references/examples.md](references/examples.md).
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: RasaHQ
- Source: RasaHQ/rasa-agent-skills
- License: Apache-2.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.