Scope / research evidence
P2 feature expansion. Research date 2026-09-06; Agent Bundle baseline 5fc8de37c9695b816d55bdcf18a6bcb1dfee69f5. Official Zed documentation read; no editor or native invocation was run. This issue targets the Zed Agent. External agents over ACP and terminal threads use their own harness contracts and must not inherit Zed-native skill/rule support by assumption.
Primary specifications and configuration links
Use the new Instructions page rather than the obsolete /ai/rules link. Pin an actual Zed version and native implementation revision before advertising conformance; current documentation is not an immutable compatibility version.
Integration model
Zed already consumes instruction files and local skill packages and can launch a normal MCP executable. None of these requires a bespoke Zed runtime. Its MCP-extension mechanism uses extension.toml and a Rust context_server_command implementation, but the official page now plans its deprecation in favor of the MCP registry. Do not make that extension format the prerequisite for Agent Bundle support.
The requested initial adapter should generate content and an explicit installation/configuration binding for the canonical MCP executable. It should not create a Rust/Wasm editor extension merely to launch a Node server or read Markdown. Registry publication, if desired later, is a separate operator action and not an automatic side effect of build.
Instructions and composite precedence
Personal instructions are ~/.config/zed/AGENTS.md (Windows uses the native Zed configuration directory). Project discovery takes the first matching compatible file: .rules, .cursorrules, .windsurfrules, .clinerules, .github/copilot-instructions.md, AGENT.md, AGENTS.md, then CLAUDE.md and GEMINI.md.
This makes negative discovery essential: an existing Copilot instructions file in a composite can shadow the AGENTS.md intended for Zed without any filename collision. Do not emit an extra high-precedence .rules to defeat the user's existing instructions silently. Preserve authored content and make effective selection visible or reject an incompatible scoped combination.
Skills and proposed installed layout
project/
AGENTS.md # only if explicitly owned/authored
.agents/skills/review/SKILL.md
.agents/skills/review/references/guide.md
installed-plugin/
mcp/example.mjs # only for a declared MCP server
Skills are immediate children of project .agents/skills/ or global ~/.agents/skills/, not arbitrarily nested collections. The project copy wins duplicate names; untrusted worktrees are excluded. disable-model-invocation: true keeps manual activation without autonomous catalog exposure. Validate native name/description constraints and report the documented catalog budget rather than silently promising every skill is active.
The native Skill Manager can create/import skills and supports explicit user review. File changes reload; there is no runtime remote-registry lookup or configurable extra search root. A copy or supported symlink must therefore be tracked as an installation binding rather than assuming that composite-root/skills/ is discovered anywhere it sits.
MCP setup
Settings → AI → MCP Servers → Add Local Server is the documented native path. Equivalent selected-profile settings:
{
"context_servers": {
"example": {
"command": "node",
"args": ["/absolute/installed-plugin/mcp/example.mjs"],
"env": {}
}
}
}
Remote servers use url and optional headers/native OAuth; do not embed secrets in generated artifacts. Native tool permissions use their own mcp:<server>:<tool> keys. A plugin install must not set a global auto-allow policy. Current MCP docs specifically promise tools/prompts and tool-list change handling; do not infer resources, sampling, elicitation or MCP Apps support without independent evidence.
The example is an operator configuration patch, not a file auto-discovered inside every plugin root. Merge only owned entries and preserve disabled servers, unrelated tools and native credentials. External agents may receive forwarded MCP through ACP, while terminal CLIs read their own config; list those as separate tested profiles.
Acceptance
Reuse existing content lowering, manifest/executable/launch records and receipt ownership. No new ACP agent implementation, Rust extension requirement, credential manager, permission bypass, global instruction replacement, or broad removal of AB4106.
Scope / research evidence
P2 feature expansion. Research date 2026-09-06; Agent Bundle baseline
5fc8de37c9695b816d55bdcf18a6bcb1dfee69f5. Official Zed documentation read; no editor or native invocation was run. This issue targets the Zed Agent. External agents over ACP and terminal threads use their own harness contracts and must not inherit Zed-native skill/rule support by assumption.Primary specifications and configuration links
Use the new Instructions page rather than the obsolete
/ai/ruleslink. Pin an actual Zed version and native implementation revision before advertising conformance; current documentation is not an immutable compatibility version.Integration model
Zed already consumes instruction files and local skill packages and can launch a normal MCP executable. None of these requires a bespoke Zed runtime. Its MCP-extension mechanism uses
extension.tomland a Rustcontext_server_commandimplementation, but the official page now plans its deprecation in favor of the MCP registry. Do not make that extension format the prerequisite for Agent Bundle support.The requested initial adapter should generate content and an explicit installation/configuration binding for the canonical MCP executable. It should not create a Rust/Wasm editor extension merely to launch a Node server or read Markdown. Registry publication, if desired later, is a separate operator action and not an automatic side effect of build.
Instructions and composite precedence
Personal instructions are
~/.config/zed/AGENTS.md(Windows uses the native Zed configuration directory). Project discovery takes the first matching compatible file:.rules,.cursorrules,.windsurfrules,.clinerules,.github/copilot-instructions.md,AGENT.md,AGENTS.md, thenCLAUDE.mdandGEMINI.md.This makes negative discovery essential: an existing Copilot instructions file in a composite can shadow the AGENTS.md intended for Zed without any filename collision. Do not emit an extra high-precedence
.rulesto defeat the user's existing instructions silently. Preserve authored content and make effective selection visible or reject an incompatible scoped combination.Skills and proposed installed layout
Skills are immediate children of project
.agents/skills/or global~/.agents/skills/, not arbitrarily nested collections. The project copy wins duplicate names; untrusted worktrees are excluded.disable-model-invocation: truekeeps manual activation without autonomous catalog exposure. Validate native name/description constraints and report the documented catalog budget rather than silently promising every skill is active.The native Skill Manager can create/import skills and supports explicit user review. File changes reload; there is no runtime remote-registry lookup or configurable extra search root. A copy or supported symlink must therefore be tracked as an installation binding rather than assuming that
composite-root/skills/is discovered anywhere it sits.MCP setup
Settings → AI → MCP Servers → Add Local Server is the documented native path. Equivalent selected-profile settings:
{ "context_servers": { "example": { "command": "node", "args": ["/absolute/installed-plugin/mcp/example.mjs"], "env": {} } } }Remote servers use
urland optional headers/native OAuth; do not embed secrets in generated artifacts. Native tool permissions use their ownmcp:<server>:<tool>keys. A plugin install must not set a global auto-allow policy. Current MCP docs specifically promise tools/prompts and tool-list change handling; do not infer resources, sampling, elicitation or MCP Apps support without independent evidence.The example is an operator configuration patch, not a file auto-discovered inside every plugin root. Merge only owned entries and preserve disabled servers, unrelated tools and native credentials. External agents may receive forwarded MCP through ACP, while terminal CLIs read their own config; list those as separate tested profiles.
Acceptance
Reuse existing content lowering, manifest/executable/launch records and receipt ownership. No new ACP agent implementation, Rust extension requirement, credential manager, permission bypass, global instruction replacement, or broad removal of AB4106.