Skills are cross-agent: install once, use with Claude Code, Codex, Qwen, and any other supported provider.
What are skills?
Skills are pre-built capabilities that agents can invoke to perform specific tasks:- Linear integration: Create and update Linear issues
- Documentation generation: Generate API docs from code
- Code review: Run automated code review checks
- Testing: Generate unit tests for functions
- Deployment: Deploy to cloud platforms
SKILL.md file with YAML frontmatter that defines the skill’s metadata and instructions.
Skill format
Skills follow the Agent Skills standard:The YAML frontmatter is parsed by
parseFrontmatter() in src/shared/skills/validation.ts.Skill storage
Central storage
All skills are stored in a central directory:Agent sync
Emdash symlinks skills into each agent’s native directory:src/shared/skills/agentTargets.ts):
Installing skills
Browse available skills
The catalog shows skills from:
- OpenAI skills repo: Curated skills from OpenAI
- Anthropic skills repo: Skills from Anthropic
- Local skills: Skills you’ve created
Install a skill
Click Install on any skill. Emdash will:
- Download the skill’s
SKILL.mdfrom GitHub - Save it to
~/.agentskills/<skill-id>/ - Symlink it to all detected agents
- Update the catalog index
Creating custom skills
You can create your own skills for organization-specific workflows:Create a skill via UI
In Settings → Skills, click Create New Skill:
- Name:
my-custom-skill(lowercase, hyphens only) - Description: Brief description
- Content: Optional markdown instructions
Edit the SKILL.md
Emdash generates a basic
SKILL.md at ~/.agentskills/my-custom-skill/SKILL.md. Edit it to add:- Detailed instructions
- Usage examples
- Configuration options
- Input/output formats
Validation
Skill names must match:^[a-z0-9][a-z0-9-]{0,63}$
Skill catalog
Emdash maintains an aggregated catalog that merges skills from:-
Remote sources (fetched on refresh):
- OpenAI skills:
https://github.com/openai/skills/tree/main/skills/.curated - Anthropic skills:
https://github.com/anthropics/skills/tree/main/skills
- OpenAI skills:
-
Local skills: Skills in
~/.agentskills/ -
Bundled fallback: Offline catalog at
src/main/services/skills/bundled-catalog.json
Refreshing the catalog
To fetch the latest skills from GitHub:- Go to Settings → Skills
- Click Refresh Catalog
- Emdash fetches from GitHub and updates
~/.agentskills/.emdash/catalog-index.json
The catalog is versioned. Stale disk caches are automatically replaced with the bundled fallback.
Managing installed skills
List installed skills
Uninstall a skill
- Go to Settings → Skills
- Click Uninstall on an installed skill
- Emdash:
- Removes symlinks from all agent directories
- Deletes
~/.agentskills/<skill-id>/ - Updates the catalog
View skill details
Click any skill to view its fullSKILL.md content, including:
- Description
- Usage instructions
- Configuration options
- Examples
Syncing skills to agents
Skills are automatically synced to all detected agents when:- You install a new skill
- You create a custom skill
- Emdash starts (scans for new agents)
Detected agents
View which agents Emdash has detected:- ✅ Green: Agent installed, skills synced
- ⚠️ Yellow: Agent not installed, skills will sync when installed
Best practices
Use descriptive names
Skill names should clearly indicate their purpose:
linear-integration✅skill-1❌
Version your skills
Include version numbers in YAML frontmatter for tracking changes.
Document usage clearly
Provide examples and expected input/output formats in
SKILL.md.Test across agents
Verify skills work with Claude, Codex, Qwen, etc. — each agent interprets instructions differently.
Troubleshooting
Skill not appearing in agent
Skill not appearing in agent
Symptom: Installed skill not available in Claude/Codex/etc.Solutions:
- Check if agent is detected: Settings → Skills → Detected Agents
- Verify symlink exists:
ls -la ~/.claude/commands/<skill-id> - Manually sync: Reinstall the skill from the catalog
- Restart the agent
Skill install fails
Skill install fails
Symptom: Error when installing skill from catalogSolutions:
- Check internet connection (GitHub fetch required)
- Ensure
~/.agentskills/directory is writable - Check Emdash logs for specific error
- Try creating a custom skill with the same name to test permissions
Symlink creation fails (Windows)
Symlink creation fails (Windows)
Symptom: “Failed to sync skill to <agent>: symlink error”Solutions:
- Enable Developer Mode: Settings → Update & Security → For developers
- Or run Emdash as Administrator
- Or manually copy skill directories instead of using symlinks
Catalog won't refresh
Catalog won't refresh
Symptom: Clicking “Refresh Catalog” does nothingSolutions:
- Check internet connection
- Verify GitHub is accessible (not blocked by firewall)
- Check Emdash logs for HTTP errors
- Delete
~/.agentskills/.emdash/catalog-index.jsonand restart Emdash