Skills are modular capabilities that Asta can use. You can toggle them on/off in Settings, and some require dependencies or API keys.
Managing Skills
Settings UI
Open Asta
Go to Settings → Skills
Toggle skills on/off with the switch next to each skill
Skills with missing dependencies show an action hint (e.g. “Install & enable exec”)
Skill Status
Each skill shows:
Name and description
Enabled (toggle on/off)
Available (whether dependencies are met)
Action hint (what’s needed to make it available)
Built-in Skills
Files
Description: Local file access and summaries
Requirements:
Configured allowed paths in ASTA_ALLOWED_PATHS or workspace
How to enable:
# In backend/.env
ASTA_ALLOWED_PATHS = /Users/you/Documents,/Users/you/notes
Google Drive
Description: Drive files and summaries
Status: OAuth not wired yet (stub only)
Learning (RAG)
Description: Learned knowledge and documents
Requirements:
How to enable:
Install Ollama: ollama.com
Start Ollama: ollama serve
Pull a model: ollama pull llama3.3
Time
Description: Current time (12h AM/PM). Uses location for timezone.
Requirements: None (always available)
Weather
Description: Current weather and forecast
Requirements: Location set in workspace/USER.md
Google Search
Description: Search the web for current information
Requirements: None (always available)
Lyrics
Description: Find song lyrics
Requirements: None (free, no API key needed)
Spotify
Description: Search songs and control playback
Requirements:
Spotify Client ID and Secret (see API Keys )
How to enable:
Create Spotify app at developer.spotify.com/dashboard
Add credentials in Settings → Spotify
For playback: click Connect Account
Reminders
Description: Wake me up or remind me at a time
Requirements:
Location set in workspace/USER.md for timezone
(Optional) Pingram for voice calls
Audio Notes
Description: Upload audio; Asta transcribes and formats as meeting notes
Requirements: None (runs locally, no API key)
Silly GIF
Description: Occasionally replies with a relevant GIF
Requirements:
How to enable:
Get API key at developers.giphy.com
Add in Settings → API Keys
Self Awareness
Description: Answer questions about Asta from real docs
Requirements: None (always available)
Server Status
Description: Monitor CPU, RAM, Disk, Uptime
Requirements: None (always available)
CLI-based Skills
These skills use command-line tools and require both the binary installed and exec access enabled.
Google Workspace
Description: Read Gmail, Calendar, Drive, Contacts via gog CLI
Requirements:
gog CLI installed
Binary in exec allowlist
Authenticated Google account
How to enable:
# Install gog
brew install gogcli
# Authenticate
gog auth add [email protected] --services gmail,calendar,drive,contacts
# Enable in Asta
# In backend/.env
ASTA_EXEC_ALLOWED_BINS = gog
ASTA_EXEC_SECURITY = allowlist
GitHub
Description: Manage repos, issues, PRs, CI runs via gh CLI
Requirements:
gh CLI installed
Binary in exec allowlist
Authenticated GitHub account
How to enable:
# Install gh
brew install gh
# Authenticate
gh auth login
# Enable in Asta
# In backend/.env
ASTA_EXEC_ALLOWED_BINS = gh
ASTA_EXEC_SECURITY = allowlist
Vercel
Description: Check deployments and projects via vercel CLI
Requirements:
vercel CLI installed
Binary in exec allowlist
Authenticated Vercel account
How to enable:
# Install vercel
npm i -g vercel
# Authenticate
vercel login
# Enable in Asta
# In backend/.env
ASTA_EXEC_ALLOWED_BINS = vercel
ASTA_EXEC_SECURITY = allowlist
Workspace Skills
Custom skills in workspace/skills/ are automatically detected. Each skill is a folder with a SKILL.md file.
See Workspace Configuration for how to create your own.
Exec Security
Skills that run external binaries require exec permissions:
Allowlist Mode (Recommended)
Deny Mode
Full Mode (Dangerous)
# In backend/.env
ASTA_EXEC_SECURITY = allowlist
ASTA_EXEC_ALLOWED_BINS = memo,things,gog,gh,vercel
Skills with required_bins automatically add their binaries to the allowlist when enabled in the UI. Manual configuration is only needed if you want to pre-configure before enabling.
Skill Dependencies
The backend checks skill availability at runtime:
Files : checks ASTA_ALLOWED_PATHS or workspace path
RAG : checks Ollama reachable at OLLAMA_BASE_URL
Spotify : checks Client ID and Secret in database or env
Silly GIF : checks Giphy API key
CLI skills : checks binary in $PATH and exec allowlist
You can view all skill statuses in Settings → Skills.
Testing Skills
After enabling a skill:
Ask Asta a question that would use the skill
Check the response for tool usage (if ASTA_SHOW_TOOL_TRACE=true)
View Settings → Status to see if the skill is marked available
Implementation Reference
Skill configuration and availability logic is in:
backend/app/routers/settings.py (lines 73-92: skill definitions)
backend/app/routers/settings.py (lines 899-1014: _get_all_skill_defs and availability checks)