Skills
Extend Foxl with installable skill packages for productivity, communication, media, and dev tooling
Skills are installable capability packages that extend what Foxl can do. Each skill is a SKILL.md file containing instructions, tool requirements, and domain expertise that the agent loads on demand.
How Skills Work
Skills use a lazy-loading pattern for efficiency:
- Only skill names and short descriptions are included in the system prompt
- When the agent decides a skill is relevant, it reads the full
SKILL.mdfile - The skill's instructions guide the agent through the task
This keeps the agent fast while providing deep expertise when needed.
The skill library is versioned in the foxl-ai/skills repo and synced into ~/.foxl/skills/ on launch. You can enable, disable, or customize any skill from the Skills page in the app, and add your own local skills by dropping a SKILL.md file in the skills directory.
Skill Categories
Document processors, communication skills, and coding helpers all live in one flat directory. The groupings below describe intent, not filesystem layout.
Productivity and documents
| Skill | Default | Description |
|---|---|---|
| github | on | Interact with GitHub using the gh CLI for issues, PRs, and CI runs |
| notion | on | Create and manage Notion pages, databases, and blocks via API |
| obsidian | on | Work with Obsidian vaults and notes using obsidian-cli |
| gws | on | Google Workspace CLI - Gmail, Calendar, Drive, Sheets, Docs, Chat, Tasks, Meet |
| outlook | on | Outlook email, calendar, and Microsoft To-Do via Microsoft Graph API |
| outlook-web | on | Legacy browser-extension Outlook skill (fallback when Graph is unavailable) |
| quip | on | Manage Amazon Quip documents via REST API |
| himalaya | off | CLI email client via IMAP/SMTP - list, read, write, reply, search |
| docx | on | Create, read, edit, or manipulate Word (.docx) documents |
| xlsx | on | Read, edit, or produce spreadsheets (.xlsx, .xlsm, .csv, .tsv) |
| pptx | on | Create or edit PowerPoint (.pptx) presentations |
| on | Read, extract, merge, split, watermark, fill, or OCR PDF files |
Media and audio
| Skill | Default | Description |
|---|---|---|
| spotify | off | Control Spotify playback and search via terminal |
| spotify-player | off | Terminal Spotify playback via spogo or spotify_player |
| sonos | off | Control Sonos speakers - discover, play, volume, group |
| voice-call | off | Start voice calls via Twilio, Telnyx, or Plivo |
| sherpa-onnx-tts | off | Local text-to-speech via sherpa-onnx (offline, no cloud) |
| video-frames | off | Extract frames or clips from videos using ffmpeg |
Agent tooling (built-ins as skills)
These ship as skills so you can toggle them off to reclaim system-prompt tokens on simpler conversations.
| Skill | Default | Description |
|---|---|---|
| browser-tool | on | Browser automation via agent-browser - navigate, click, fill, screenshot, extract |
| code-search-tool | on | Search code with grep / ripgrep for patterns, symbols, and functions |
| exec-tool | on | Execute shell commands and manage background processes |
| git-tool | on | Git subcommand shortcuts - status, diff, log, branch, checkout, commit, push, pull |
| web-fetch-tool | on | Fetch content from URLs - web pages, APIs, online resources |
Coding assistants
| Skill | Default | Description |
|---|---|---|
| claude-code | off | Use the Claude Code CLI with your Claude Pro/Max subscription |
| codex-cli | off | Use the OpenAI Codex CLI with your ChatGPT subscription |
| gemini-cli | off | Use the Gemini CLI with your Google AI subscription or API key |
| gemini | off | Gemini CLI for one-shot Q&A and generation |
| coding-agent | off | Run Codex CLI, Claude Code, or other coding agents as a background process |
| electron | off | Automate Electron desktop apps (VS Code, Slack, Discord, Figma, etc.) via CDP |
| skill-creator | on | Create, edit, optimize, or benchmark skills with eval runs and variance analysis |
Research and automation
| Skill | Default | Description |
|---|---|---|
| research-assistant | on | Help with research tasks and information gathering |
| autoresearch | off | Autonomous ML research loop that edits train.py, runs experiments, keeps improvements |
| tmux | off | Remote-control tmux sessions for interactive CLIs |
Utility
| Skill | Default | Description |
|---|---|---|
| weather | on | Get current weather and forecasts (no API key required) |
| healthcheck | off | Host security hardening and risk-tolerance configuration |
Browsing and Installing Skills
Open the Skills page from the sidebar to see every skill shipped with Foxl plus anything you've added locally. Each skill row shows:
- Name and description
- Enable / disable toggle (flips the default above)
- Required tools, binaries, or credentials
- Stored environment variables (API keys) - editable from the Integrations page
Only third-party, SaaS-shaped skills surface on the Integrations page (github, notion, obsidian, gws, outlook, quip, himalaya, spotify, sonos, voice-call, weather). The Skills page remains the full catalog.
Some skills require external tools. For example, spotify-player needs the spogo or spotify_player binary on PATH, and sherpa-onnx-tts needs the sherpa-onnx runtime. The Skills page shows compatibility status per skill and flags missing dependencies inline.
Creating Custom Skills
Create your own skill by adding a SKILL.md file:
~/.foxl/skills/my-skill/SKILL.mdThe file uses YAML frontmatter for metadata and markdown for instructions:
---
name: my-skill
description: Short description of what this skill does
enabled: true
requires:
env: [MY_SERVICE_API_KEY]
bins: [my-cli]
---
## Instructions
Tell the agent how to use this skill...requires.env entries become editable from the Integrations page, so API keys are managed from the UI rather than shell profiles. requires.bins get a PATH check at load time, with inline setup hints when a binary is missing. The agent will discover your skill automatically on next conversation.