Best use case
Zed — High-Performance Code Editor is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
## Overview
Teams using Zed — High-Performance Code Editor should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/zed/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How Zed — High-Performance Code Editor Compares
| Feature / Agent | Zed — High-Performance Code Editor | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
## Overview
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Zed — High-Performance Code Editor
## Overview
Zed, the high-performance code editor built in Rust with native collaboration, AI integration, and GPU-accelerated rendering. Helps developers configure Zed, create custom extensions, set up collaborative editing sessions, and integrate AI assistants for productive coding.
## Instructions
### Configuration
Customize Zed through its JSON settings:
```jsonc
// ~/.config/zed/settings.json — Main configuration file
{
// Editor appearance and behavior
"theme": "One Dark",
"ui_font_size": 14,
"buffer_font_size": 14,
"buffer_font_family": "JetBrains Mono",
"buffer_line_height": { "custom": 1.6 },
// Vim mode (built-in, no extension needed)
"vim_mode": true,
"vim": {
"use_system_clipboard": "always",
"use_smartcase_find": true
},
// Tab and indentation
"tab_size": 2,
"hard_tabs": false,
"format_on_save": "on",
"formatter": "language_server",
// Git integration
"git": {
"inline_blame": { "enabled": true, "delay_ms": 500 },
"git_gutter": "tracked_files"
},
// AI Assistant configuration
"assistant": {
"enabled": true,
"default_model": {
"provider": "anthropic",
"model": "claude-sonnet-4-20250514"
},
"version": "2" // Use Assistant v2 panel
},
// Inline completions (code suggestions)
"inline_completions": {
"disabled_globs": [".env", "*.pem", "*.key"]
},
// Language-specific settings
"languages": {
"TypeScript": {
"tab_size": 2,
"formatter": { "external": { "command": "prettier", "arguments": ["--stdin-filepath", "{buffer_path}"] } }
},
"Python": {
"tab_size": 4,
"formatter": { "external": { "command": "ruff", "arguments": ["format", "--stdin-filename", "{buffer_path}"] } }
},
"Rust": {
"tab_size": 4,
"formatter": "language_server"
}
},
// Terminal
"terminal": {
"shell": { "program": "zsh" },
"font_size": 13,
"line_height": { "custom": 1.4 },
"copy_on_select": true
},
// File tree
"project_panel": {
"auto_reveal_entries": true,
"auto_fold_dirs": true,
"file_icons": true
},
// Performance
"autosave": { "after_delay": { "milliseconds": 1000 } },
"soft_wrap": "editor_width"
}
```
### Key Bindings
Configure custom keyboard shortcuts:
```jsonc
// ~/.config/zed/keymap.json — Custom keybindings
[
// Quick file switching (like VS Code Cmd+P)
{
"context": "Workspace",
"bindings": {
"cmd-p": "file_finder::Toggle",
"cmd-shift-p": "command_palette::Toggle",
"cmd-shift-f": "project_search::ToggleFocus",
"cmd-b": "workspace::ToggleLeftDock",
"cmd-j": "terminal_panel::ToggleFocus",
// Custom: open AI assistant panel
"cmd-shift-a": "assistant::ToggleFocus",
// Custom: toggle inline AI completions
"cmd-shift-i": "editor::ToggleInlineCompletions"
}
},
// Editor-specific bindings
{
"context": "Editor",
"bindings": {
"cmd-d": "editor::SelectNext", // Multi-cursor select next match
"cmd-shift-l": "editor::SelectAllMatches", // Select all occurrences
"alt-up": "editor::MoveLineUp",
"alt-down": "editor::MoveLineDown",
"cmd-shift-k": "editor::DeleteLine",
"cmd-/": "editor::ToggleComments",
// Quick AI actions
"ctrl-l": "assistant::InlineAssist" // Inline AI edit at cursor
}
},
// Vim-specific overrides
{
"context": "VimControl",
"bindings": {
"space f": "file_finder::Toggle",
"space g": "project_search::ToggleFocus",
"space e": "project_panel::ToggleFocus",
"space a": "assistant::ToggleFocus",
"space t": "terminal_panel::ToggleFocus"
}
}
]
```
### Collaborative Editing
Set up real-time pair programming sessions:
```markdown
## How Collaboration Works in Zed
1. **Start a session**: Click "Share" in the title bar or run `collaboration::ShareProject`
2. **Share the link**: Copy the invite link and send to teammates
3. **Real-time editing**: All participants see each other's cursors and edits instantly
4. **Follow mode**: Click a collaborator's avatar to follow their cursor (see what they see)
5. **Voice chat**: Built-in voice channels — no need for a separate call
### Collaboration Features
- **Shared terminal**: Collaborators can see your terminal output
- **Shared diagnostics**: LSP errors and warnings are visible to all participants
- **Conflict-free**: Uses CRDT (similar to Yjs) for concurrent edit resolution
- **Low latency**: Edits propagate in <50ms on good connections
```
### AI Assistant Usage
Leverage Zed's integrated AI for coding tasks:
```markdown
## AI Workflows in Zed
### Inline Assist (Ctrl+L)
Select code → Ctrl+L → type instruction:
- "Add error handling to this function"
- "Refactor to use async/await"
- "Add TypeScript types"
- "Write a unit test for this"
### Assistant Panel (Cmd+Shift+A)
Full conversation with AI, with context from your codebase:
- Drag files into the panel to add them as context
- Use `/file` to reference specific files
- Use `/tab` to include all open tabs as context
- Ask architectural questions about your codebase
### Slash Commands in Assistant
- `/file path/to/file.ts` — Include file content as context
- `/tab` — Include all open editor tabs
- `/diagnostics` — Include current LSP errors/warnings
- `/selection` — Include currently selected code
- `/terminal` — Include recent terminal output
```
### Extension Development
Build custom extensions for Zed:
```rust
// extensions/my-extension/src/lib.rs — Zed extension in Rust (WASM)
use zed_extension_api::{self as zed, Result};
struct MyExtension;
impl zed::Extension for MyExtension {
fn new() -> Self { MyExtension }
fn language_server_command(
&mut self,
_language_server_id: &zed::LanguageServerId,
worktree: &zed::Worktree,
) -> Result<zed::Command> {
// Configure a custom language server
Ok(zed::Command {
command: "my-lsp-binary".to_string(),
args: vec!["--stdio".to_string()],
env: Default::default(),
})
}
}
zed::register_extension!(MyExtension);
```
```toml
# extensions/my-extension/extension.toml — Extension manifest
[extension]
id = "my-extension"
name = "My Extension"
version = "0.1.0"
schema_version = 1
authors = ["Your Name"]
description = "Custom language support for Zed"
repository = "https://github.com/you/zed-my-extension"
[grammars.my-language]
repository = "https://github.com/tree-sitter/tree-sitter-my-language"
commit = "abc123"
[language_servers.my-lsp]
language = "MyLanguage"
```
## Installation
```bash
# macOS (official)
brew install --cask zed
# Linux
curl -f https://zed.dev/install.sh | sh
# Build from source
git clone https://github.com/zed-industries/zed.git
cd zed
cargo build --release
```
## Examples
### Example 1: Setting up Zed with a custom configuration
**User request:**
```
I just installed Zed. Help me configure it for my TypeScript + React workflow with my preferred keybindings.
```
The agent creates the configuration file with TypeScript-aware settings, configures relevant plugins/extensions for React development, sets up keyboard shortcuts matching the user's preferences, and verifies the setup works correctly.
### Example 2: Extending Zed with custom functionality
**User request:**
```
I want to add a custom key bindings to Zed. How do I build one?
```
The agent scaffolds the extension/plugin project, implements the core functionality following Zed's API patterns, adds configuration options, and provides testing instructions to verify it works end-to-end.
## Guidelines
1. **Use Vim mode** — Zed's Vim emulation is excellent and first-class; combine with Zed-specific keybindings for best productivity
2. **Configure per-language formatting** — Set formatters per language (Prettier for JS, Ruff for Python, rustfmt for Rust)
3. **AI context matters** — Drag relevant files into the assistant panel; more context = better AI responses
4. **Inline assist for quick edits** — Select code + Ctrl+L is faster than copy-pasting into a chat
5. **Use follow mode in pairing** — Click a collaborator's avatar to see exactly what they see; great for code reviews
6. **Autosave with delay** — 1000ms delay avoids constant disk writes while keeping files saved
7. **Extensions are WASM** — Write extensions in Rust compiled to WebAssembly; they run in a sandbox for security
8. **Keyboard-first design** — Learn `Cmd+P` (files), `Cmd+Shift+P` (commands), `Cmd+T` (symbols) for fast navigationRelated Skills
customerio-performance-tuning
Optimize Customer.io API performance for high throughput. Use when improving response times, implementing connection pooling, batching, caching, or regional routing. Trigger: "customer.io performance", "optimize customer.io", "customer.io latency", "customer.io connection pooling".
cursor-performance-tuning
Optimize Cursor IDE performance: reduce memory usage, speed up indexing, tune AI features, and manage extensions for large codebases. Triggers on "cursor performance", "cursor slow", "cursor optimization", "cursor memory", "speed up cursor", "cursor lag".
coreweave-performance-tuning
Optimize CoreWeave GPU inference latency and throughput. Use when reducing inference latency, maximizing GPU utilization, or tuning batch sizes and concurrency. Trigger with phrases like "coreweave performance", "coreweave latency", "coreweave throughput", "optimize coreweave inference".
cohere-performance-tuning
Optimize Cohere API performance with caching, batching, model selection, and streaming. Use when experiencing slow API responses, implementing caching strategies, or optimizing request throughput for Cohere Chat, Embed, and Rerank. Trigger with phrases like "cohere performance", "optimize cohere", "cohere latency", "cohere caching", "cohere slow", "cohere batch".
coderabbit-performance-tuning
Optimize CodeRabbit review speed, relevance, and signal-to-noise ratio. Use when reviews take too long, contain too many irrelevant comments, or when teams are experiencing review fatigue. Trigger with phrases like "coderabbit performance", "optimize coderabbit", "coderabbit slow", "coderabbit noise", "coderabbit too many comments", "coderabbit relevance".
clickup-performance-tuning
Optimize ClickUp API v2 performance with caching, pagination, connection pooling, and request batching patterns. Trigger: "clickup performance", "optimize clickup", "clickup latency", "clickup caching", "clickup slow", "clickup batch requests", "clickup pagination".
clickhouse-performance-tuning
Optimize ClickHouse query performance with indexing, projections, settings tuning, and query analysis using system tables. Use when queries are slow, investigating performance bottlenecks, or tuning ClickHouse server settings. Trigger: "clickhouse performance", "optimize clickhouse query", "clickhouse slow query", "clickhouse indexing", "clickhouse tuning", "clickhouse projections".
clerk-performance-tuning
Optimize Clerk authentication performance. Use when improving auth response times, reducing latency, or optimizing Clerk SDK usage. Trigger with phrases like "clerk performance", "clerk optimization", "clerk slow", "clerk latency", "optimize clerk".
clay-performance-tuning
Optimize Clay table enrichment throughput, reduce processing time, and improve hit rates. Use when experiencing slow enrichment, poor email find rates, or needing to process large tables efficiently. Trigger with phrases like "clay performance", "optimize clay", "clay slow", "clay throughput", "clay fast enrichment", "clay batch optimization".
clari-performance-tuning
Optimize Clari API performance with caching, batch exports, and data pipeline efficiency. Use when exports take too long, optimizing data warehouse load times, or reducing API calls in multi-forecast environments. Trigger with phrases like "clari performance", "clari slow export", "optimize clari pipeline", "clari caching".
clade-performance-tuning
Optimize Anthropic API latency — streaming, prompt caching, model selection, Use when working with performance-tuning patterns. connection reuse, and parallel requests. Trigger with "anthropic slow", "claude latency", "speed up anthropic", "anthropic performance", "claude response time".
castai-performance-tuning
Optimize CAST AI autoscaler performance, node provisioning speed, and API efficiency. Use when nodes take too long to provision, autoscaler is not reacting fast enough, or optimizing API call patterns for multi-cluster dashboards. Trigger with phrases like "cast ai performance", "cast ai slow", "cast ai node provisioning", "cast ai autoscaler speed".