Skip to main content
Skills provide specialized instructions and workflows for specific tasks. Agents can load skills on-demand to access domain-specific knowledge without bloating their base instructions.

Overview

Skills are Markdown documents containing:
  • Instructions - How to perform specific tasks
  • Tool catalogs - Available tools and their usage
  • Workflows - Step-by-step procedures
  • Best practices - Patterns and anti-patterns
  • Examples - Code snippets and configurations
Skill Catalog: apps/x/packages/core/src/application/assistant/skills/index.ts:1All available skills are registered in the catalog with IDs, titles, summaries, and content.

Available Skills

ID: web-search
Use for: Searching the web or researching topics
  • Choosing between web-search (Brave) and research-search (Exa)
  • Understanding when to use each search tool
  • Guidelines on search frequency and quality
  • Category filtering for research-search
Key guidance:
  • Always start with exactly ONE search call
  • Never call multiple search tools simultaneously
  • Only make follow-up searches if truly necessary
Location: apps/x/packages/core/src/application/assistant/skills/web-search/skill.ts:1

Slack Integration

ID: slack
Use for: Sending messages, viewing channels, searching conversations
  • Checking Slack connection status
  • Listing users, channels, and DM conversations
  • Getting conversation history
  • Searching messages with Slack syntax
  • Sending messages to channels and DMs
  • Executing Slack actions via Composio
  • Complete tool catalog for all Slack operations
Key guidance:
  • Always check connection before using Slack tools
  • Show drafts before sending messages
  • Summarize channel history, don’t dump raw data
  • Cross-reference with knowledge base
Location: apps/x/packages/core/src/application/assistant/skills/slack/skill.ts:1

Background Agents

ID: background-agents
Use for: Creating, editing, and scheduling background agents
  • Agent file format (Markdown with YAML frontmatter)
  • Schedule configuration (cron, window, once)
  • Multi-agent workflow patterns
  • Tool type schemas (builtin, mcp, agent)
  • Schedule state management
  • Validation and best practices
Key guidance:
  • All agents are Markdown files in agents/ directory
  • “Workflows” are just agents that orchestrate other agents
  • Schedule configuration goes in agent-schedule.json
  • Never modify agent-schedule-state.json manually
  • Avoid executeCommand for background agents
Location: apps/x/packages/core/src/application/assistant/skills/background-agents/skill.ts:1

Builtin Tools Reference

ID: builtin-tools
Use for: Understanding and using builtin tools in agents
  • Complete executeCommand documentation
  • What can be done with shell commands
  • Agent-to-agent calling patterns
  • Copilot-specific builtin tools
  • File and directory operations
  • MCP operations (addMcpServer, listMcpTools, executeMcpTool)
  • When to use builtin vs MCP vs agent tools
Key guidance:
  • executeCommand is the most powerful builtin tool
  • Commands are filtered through security.json
  • Agents can call other agents as tools
  • Copilot has access to workspace and MCP operations
Location: apps/x/packages/core/src/application/assistant/skills/builtin-tools/skill.ts:1

MCP Integration

ID: mcp-integration
Use for: Discovering and executing MCP tools
  • Always check MCP tools first before declining tasks
  • MCP server configuration schemas (stdio vs http)
  • Using addMcpServer tool with validation
  • Discovering available servers and tools
  • Executing MCP tools directly (copilot)
  • Schema matching for tool execution
  • Adding MCP tools to agents
Key guidance:
  • ALWAYS check listMcpServers before saying “I can’t do that”
  • Use addMcpServer tool, never manually edit mcp.json
  • Carefully examine inputSchema before executing tools
  • Common servers: firecrawl, filesystem, github, fetch, time
Location: apps/x/packages/core/src/application/assistant/skills/mcp-integration/skill.ts:1

Document Collaboration

ID: doc-collab
Use for: Creating, editing, and refining documents
Collaborate on documents in the knowledge base - create notes, edit content, and refine documentation. Location: apps/x/packages/core/src/application/assistant/skills/doc-collab/skill.ts

Draft Emails

ID: draft-emails
Use for: Processing emails and creating responses
Process incoming emails and create draft responses using calendar and knowledge base context. Location: apps/x/packages/core/src/application/assistant/skills/draft-emails/skill.ts

Meeting Prep

ID: meeting-prep
Use for: Preparing for meetings
Gather context about meeting attendees from the knowledge base and prepare briefing documents. Location: apps/x/packages/core/src/application/assistant/skills/meeting-prep/skill.ts

Organize Files

ID: organize-files
Use for: Finding and organizing files
Find, organize, and tidy up files on the user’s machine. Move files to folders, clean up Desktop/Downloads, locate specific files. Location: apps/x/packages/core/src/application/assistant/skills/organize-files/skill.ts

Create Presentations

ID: create-presentations
Use for: Creating PDF presentations and slide decks
Create PDF presentations and slide decks from natural language requests using knowledge base context. Location: apps/x/packages/core/src/application/assistant/skills/create-presentations/skill.ts

Deletion Guardrails

ID: deletion-guardrails
Use for: Following safe deletion procedures
Follow the confirmation process before removing workflows, agents, and their dependencies. Location: apps/x/packages/core/src/application/assistant/skills/deletion-guardrails/skill.ts

Skill Loading

Resolve Skill

Skills are resolved by ID or file path:
The resolver accepts many path variants:
  • web-search
  • web-search/skill
  • web-search/skill.ts
  • web-search/skill.js
  • skills/web-search/skill.ts
  • src/application/assistant/skills/web-search/skill.ts
  • Absolute paths (resolved from CURRENT_DIR)
Both .ts and .js extensions are accepted.
Location: apps/x/packages/core/src/application/assistant/skills/index.ts:180

Skill Catalog

Get a formatted list of all skills:
Output:
Location: apps/x/packages/core/src/application/assistant/skills/index.ts:111

Using Skills in Agents

Copilot loadSkill Tool

The copilot can load skills dynamically using the loadSkill builtin tool:
Usage:
The skill content is injected into the conversation context, providing specialized guidance for the current task.

When to Load Skills

Load skills proactively when:
  • User asks for a task matching a skill’s domain
  • You need specialized knowledge for a complex operation
  • User mentions specific tools or services (Slack, MCP, etc.)
  • Creating or modifying agents with specific tool types
  • Debugging or troubleshooting domain-specific issues

Skill Architecture

Skill Definition

Location: apps/x/packages/core/src/application/assistant/skills/index.ts:18

Resolved Skill

Location: apps/x/packages/core/src/application/assistant/skills/index.ts:25

Skill Registration

Skills are registered in the catalog with multiple path aliases:
Location: apps/x/packages/core/src/application/assistant/skills/index.ts:31

Creating Custom Skills

To add a new skill:
  1. Create skill file - apps/x/packages/core/src/application/assistant/skills/my-skill/skill.ts
  1. Import in index - apps/x/packages/core/src/application/assistant/skills/index.ts
  1. Use in agents - Load dynamically or include in instructions

Best Practices

Focus on specific domains - Each skill should cover one area deeplyProvide concrete examples - Show exact code, commands, and configurationsInclude workflows - Step-by-step procedures for common tasksDocument edge cases - Cover error handling and troubleshootingKeep updated - Maintain skills as tools and APIs evolve
Load proactively - Don’t wait for the agent to get stuckLoad multiple skills - Complex tasks may need several skillsFollow skill guidance - Skills provide tested patternsUpdate context - Reload skills if requirements change
Modular structure - Keep skills focused and composableClear naming - Use descriptive IDs and titlesComprehensive summaries - Help agents choose the right skillVersion considerations - Note compatibility and dependencies

Next Steps

Agent Overview

Learn about agent system architecture

Runtime

Explore agent execution details

Background Agents

Understand scheduled execution