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
Web Search
ID:web-searchUse for: Searching the web or researching topics
Capabilities
Capabilities
- Choosing between
web-search(Brave) andresearch-search(Exa) - Understanding when to use each search tool
- Guidelines on search frequency and quality
- Category filtering for research-search
- Always start with exactly ONE search call
- Never call multiple search tools simultaneously
- Only make follow-up searches if truly necessary
apps/x/packages/core/src/application/assistant/skills/web-search/skill.ts:1
Slack Integration
ID:slackUse for: Sending messages, viewing channels, searching conversations
Capabilities
Capabilities
- 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
- 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
apps/x/packages/core/src/application/assistant/skills/slack/skill.ts:1
Background Agents
ID:background-agentsUse for: Creating, editing, and scheduling background agents
Capabilities
Capabilities
- 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
- 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.jsonmanually - Avoid
executeCommandfor background agents
apps/x/packages/core/src/application/assistant/skills/background-agents/skill.ts:1
Builtin Tools Reference
ID:builtin-toolsUse for: Understanding and using builtin tools in agents
Capabilities
Capabilities
- Complete
executeCommanddocumentation - 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
executeCommandis 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
apps/x/packages/core/src/application/assistant/skills/builtin-tools/skill.ts:1
MCP Integration
ID:mcp-integrationUse for: Discovering and executing MCP tools
Capabilities
Capabilities
- Always check MCP tools first before declining tasks
- MCP server configuration schemas (stdio vs http)
- Using
addMcpServertool with validation - Discovering available servers and tools
- Executing MCP tools directly (copilot)
- Schema matching for tool execution
- Adding MCP tools to agents
- ALWAYS check
listMcpServersbefore saying “I can’t do that” - Use
addMcpServertool, never manually editmcp.json - Carefully examine
inputSchemabefore executing tools - Common servers: firecrawl, filesystem, github, fetch, time
apps/x/packages/core/src/application/assistant/skills/mcp-integration/skill.ts:1
Document Collaboration
ID:doc-collabUse 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-emailsUse 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-prepUse 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-filesUse 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-presentationsUse 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-guardrailsUse 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:Supported Path Formats
Supported Path Formats
The resolver accepts many path variants:
web-searchweb-search/skillweb-search/skill.tsweb-search/skill.jsskills/web-search/skill.tssrc/application/assistant/skills/web-search/skill.ts- Absolute paths (resolved from CURRENT_DIR)
.ts and .js extensions are accepted.apps/x/packages/core/src/application/assistant/skills/index.ts:180
Skill Catalog
Get a formatted list of all skills: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 theloadSkill builtin tool:
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
apps/x/packages/core/src/application/assistant/skills/index.ts:18
Resolved Skill
apps/x/packages/core/src/application/assistant/skills/index.ts:25
Skill Registration
Skills are registered in the catalog with multiple path aliases:apps/x/packages/core/src/application/assistant/skills/index.ts:31
Creating Custom Skills
To add a new skill:- Create skill file -
apps/x/packages/core/src/application/assistant/skills/my-skill/skill.ts
- Import in index -
apps/x/packages/core/src/application/assistant/skills/index.ts
- Use in agents - Load dynamically or include in instructions
Best Practices
Skill Design
Skill Design
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
Skill Usage
Skill Usage
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
Skill Organization
Skill Organization
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