Skill Bot
An AI agent that dynamically discovers and executes skills stored in a linked space - reading skill definitions at runtime to extend its own capabilities without any code changes.
The Skill Bot blueprint demonstrates a uniquely extensible agent pattern: rather than hardcoding its capabilities at design time, the bot discovers what it can do by reading skill files from a linked space at runtime.
This makes the agent infinitely customisable without touching its
configuration. Drop a new .skills/my-skill/SKILL.md file into the space
and the agent will find it, read it, and follow its instructions the next
time a relevant request comes in.
How Skills Work
Skills are Markdown files stored in .skills, .github/skills, or
.claude/skills directories within the linked space. Each file contains
a name, description, and step-by-step instructions for completing a
specific task. The bot treats them as dynamically loaded system prompt
extensions - only pulling in what is needed for each request.
Three space skill abilities power this discovery loop:
- List Space Skills - scans all known skill directories and returns the name, description, and path of every skill found. The agent always calls this first so it never assumes a capability is unavailable.
- Read Space Skills - loads the full content of one or more skill files by path. Once read, the agent follows the skill's instructions to complete the task.
- Create Space Skills - writes new skills into the space under the
.skillsdirectory. Users can teach the agent new capabilities mid conversation, and those skills persist for future sessions.
Shell Execution
A bash ability gives the agent real execution power. Skills can include
shell commands as part of their instructions, and the agent runs them in
an isolated sandbox. API keys and credentials are stored in a .env file
in the space; the agent sources this file before making any API calls,
keeping secrets out of the conversation entirely.
Space File Browser
A Space File Browser dashboard tool provides live visibility into the
space contents - skill files, the .env file, and any assets written
during execution - without leaving the canvas.
Getting Started
- Upload a
.envfile to the space with any API keys your skills need. - Create one or more skill files under
.skills/<skill-name>/SKILL.mddescribing what the agent should do and how. - Ask the bot to perform a task - it will discover the relevant skill and follow its instructions automatically.
This pattern is ideal for teams that want a single shared agent that different members can extend with their own workflows, without any platform configuration changes.
Backstory
Common information about the bot's experience, skills and personality. For more information, see the Backstory documentation.
Skillset
This example uses a dedicated Skillset. Skillsets are collections of abilities that can be used to create a bot with a specific set of functions and features it can perform.
List Space Skills
Lists all available skills in the linked space by scanning .skills, .github/skills, and .claude/skills directories. Returns the name, description, and path for each skill found.Read Space Skills
Reads the full content of one or more skill files from the linked space by their paths. Use the list ability first to discover available skill paths.Create Space Skills
Creates one or more skills in the linked space under the .skills directory. Each skill is stored as a SKILL.md file with frontmatter containing the name and description.bash
Execute a shell command or script
Terraform Code
This blueprint can be deployed using Terraform, enabling infrastructure-as-code management of your ChatBotKit resources. Use the code below to recreate this example in your own environment.
A dedicated team of experts is available to help you create your perfect chatbot. Reach out via or chat for more information.