Skills
Skills are specialized knowledge modules that Posit Assistant loads automatically when they’re relevant to your request. You don’t need to activate them manually. When you ask a question, the assistant loads any related skills.
Built-in Skills
| Skill | Description |
|---|---|
connect-cloud-deploy | Deploy apps and documents to Posit Connect Cloud |
create-skill | Create new Agent Skills following the specification |
import-instructions | Migrate Positron, Copilot, Claude Code, and VS Code instruction files into Posit Assistant skills |
predictive-modeling-python | Modeling and machine learning with scikit-learn in Python |
predictive-modeling-r | Modeling and machine learning with tidymodels in R |
quarto-authoring | Write and author Quarto documents (.qmd) |
report | Create Quarto documents or notebooks from conversations |
r-package-development | R package development with devtools, testthat, and roxygen2 |
shiny-bslib | Build modern Shiny dashboards and apps with bslib |
shiny-bslib-theming | Advanced theming for Shiny apps using bslib and Bootstrap 5 |
snowflake | Connect to Snowflake and query data via semantic views |
Adding Custom Skills
You can add your own skills at two levels:
- User-level —
~/.positai/skills/{skill-name}/or~/.agents/skills/{skill-name}/— available across all projects - Project-level —
.positai/skills/{skill-name}/or.agents/skills/{skill-name}/in your project root — scoped to a single project
Project skills take priority over user skills, and both override built-in skills with the same name.
Skill Directory Structure
my-skill/
├── SKILL.md # Required: skill definition with metadata
├── scripts/ # Optional: executable scripts (R, Python, Bash)
├── references/ # Optional: additional documentation
└── assets/ # Optional: templates, schemas, data files
SKILL.md Format
Each skill requires a SKILL.md file with YAML frontmatter:
---
name: my-skill
description: When to use this skill — a clear description that helps the assistant decide when to load it.
---
# My Skill
Instructions, examples, and reference material for the assistant to follow
when this skill is active.
Required fields:
name— Lowercase letters, numbers, and hyphens only. Must match the directory name. Max 64 characters.description— Explains when the skill should be used. Max 1024 characters.
Optional fields:
license— Licensing terms (e.g.,MIT)compatibility— Environmental requirementsmetadata— Arbitrary key-value pairs (author, version, etc.)
Example
To create a skill for your team’s internal API:
mkdir -p ~/.positai/skills/internal-api
Then create ~/.positai/skills/internal-api/SKILL.md:
---
name: internal-api
description: Use when the user asks about our internal REST API, including authentication, endpoints, and data schemas.
---
# Internal API
Our API is at https://api.example.com/v2.
## Authentication
Use Bearer tokens from the /auth/token endpoint...
The skill will be available in your next conversation. You can also use the built-in create-skill skill to help generate new skills interactively.
Custom Skill Locations
By default, Posit Assistant searches for skills in these directories. When the same skill name exists in more than one location, the version from the later directory is used:
~/.agents/skills/~/.positai/skills/.agents/skills/— relative to each workspace root.positai/skills/— relative to each workspace root
You can customize these paths with the skills.paths setting in your ~/.positai/settings.json:
{
"skills": {
"paths": [
"~/.agents/skills",
"~/.positai/skills",
".agents/skills",
".positai/skills",
"~/my-company/shared-skills"
]
}
}
Paths starting with ~ expand to your home directory. Relative paths are resolved against each workspace root. If both a global and project-level config define skills.paths, the project value completely replaces the global one — they are not merged.
Further Reading
Skills follow the Agent Skills specification.