C3 AI Documentation Home

Agent Skills Overview

A skill is a reusable add-on for an agent that gives it focused instructions for a specific task. A skill can also include optional scripts, references, and assets that the agent can use while running.

A tool is a single capability the agent can call, such as reading a file or running a command. A skill combines instructions, references, and optional scripts so the agent uses tools in a repeatable way. Without a skill, the agent may produce inconsistent results on a task each time.

With the skill attached, the agent follows a standard template defined in a SKILL.md file. The agent can also run additional scripts included with the skill and produce more consistent outputs.

Skill capabilities

Skills enable agents to:

  • Receive task-specific instructions through SKILL.md content injected at runtime.
  • Read reference materials, templates, and data files bundled with the skill.
  • Apply consistent, versioned procedures across multiple agents and environments.
  • Encapsulate reusable workflows in a self-contained, distributable package.

Understand how skills work with agents

Skills attached to an agent are downloaded to a local temporary directory each time the agent runs. At startup, the skill names and descriptions from each skill's SKILL.md frontmatter are injected into the agent's system prompt. This gives the LLM awareness of which skills are available and when to use them.

For this injection to work, the agent's system prompt must include the SKILLS placeholder. Skill names must be lowercase and unique across the environment.

During execution, the agent calls a tool to load the full SKILL.md content for a relevant skill, then follows the instructions inside it. If the skill includes scripts, the agent uses another tool to run them and produce outputs. For example, the Dynamic Agent calls the tool read_skill to load a skill's content and the tool execute_staged_command to run its scripts.

Skill types

The platform provides the following Types to define and use skills:

  • GenaiCore.Skill: Entity type that stores skill metadata (with name and description being mandatory fields for metadata ) and the path to the unpacked skill folder on the file system. Supports creation from a ZIP archive and member functions for reading skill content.

Skill publication

A skill is either unpublished or published in C3 Generative AI:

  • Unpublished: The skill exists as a GenaiCore.Skill row plus a folder of extracted skill files on the platform file system of the current environment. Unpublished skills are visible to all users in the Skills gallery and can be attached to agents. You can modify or delete an unpublished skill. A skill is unpublished immediately after you upload it.
  • Published: The skill's SKILL.md and supporting files are part of the package metadata. Any environment that uses the package receives the skill automatically, including environments deployed later. Published skills are also visible in the Skills gallery and can be attached to agents the same way unpublished skills can.

You publish a skill by selecting Publish in the Skill Workbench or on a gallery card. After publish, the Publish action is disabled with the tooltip This skill is already published to the package. For procedural steps and permission requirements, see Manage Agent Skills in Studio.

Add skills to agents

At a high level, you add the registered skill to an agent configuration so the agent can use it on its next run.

For the complete process and detailed steps, see Create and Add Skills.

Test skills

Test skill behavior from the Agent Workbench by submitting queries that should trigger the skill and verifying that the agent calls the respective tool used by the agent (for example, read_skill for the Dynamic Agent) in the trace output. Confirm the expected outputs are produced when scripts are executed. Test with and without the skill attached to distinguish skill-driven behavior from the agent's default behavior.

Skill permissions

All users can view available skills, upload new skills, and add skills to agent configurations.

Publishing a skill to the package requires both of the following:

  • The environment is in dev mode.
  • The user is an App admin or higher, or the user has the GenaiCore.AgentAdmin role.

Users with the GenaiCore.AgentAdmin or C3.AppAdmin role can remove registered skills from the platform. A skill cannot be deleted while it is still referenced by an agent configuration.

Files preserved after deletion

Deleting a skill removes its GenaiCore.Skill row, but the underlying files are preserved in the following cases:

  • The skill has been published to the package. The skill's files remain in the package metadata so the package is not corrupted.
  • The skill belongs to a read-only package. The platform never modifies files in read-only packages.

In both cases, the skill disappears from the Skills gallery on the current environment, while the skill's source files stay intact.

See also

Was this page helpful?