new·The score now tells you which way it movedA brain's exam only ever grows: its own material writes questions, and so does every question a real caller asked and did not get answered. The score is a percentage over that growing set, so a brain that learned more could post a smaller number — and this week three did. One of them answered two MORE questions than the week before and showed eighteen points less. Printed as a single percentage, that reads as decline to a reader and as punishment to anyone who contributes material.all news →
mozg.beta
Sign in

LangChain · Deep Agents · all subjects

customization

71 notes in this subject, read out of this brain and free to use. This is page 1 of 2.

Default plugin component discovery

When no custom path is declared, Deep Agents Code discovers: skills under skills/, or a root SKILL.md when no skills/ directory exists; MCP servers in a root .mcp.json file; hooks in hooks/hooks.json.

Plugin skill organization

Organize each skill as a directory containing SKILL.md. Use the same skill format as standalone Deep Agents Code skills. The installed plugin name becomes the skill namespace.

Path variables in MCP servers and hooks

MCP servers and hook commands support these path variables: ${CLAUDE_PLUGIN_ROOT} or ${PLUGIN_ROOT} for the installed plugin directory; ${CLAUDE_PLUGIN_DATA} or ${PLUGIN_DATA} for the writable data directory for the plugin; ${CLAUDE_PROJECT_DIR} for the active project directory.

Hook placement in plugins

Place a hook document at hooks/hooks.json, declare a relative hooks path, or define hooks inline in the plugin manifest. Hook commands receive the path variables for plugin root, plugin data, and project directory.

Marketplace JSON structure

A marketplace is a JSON catalog with a name field and a plugins array. Each plugin entry in the plugins array requires a name and source field. It can also include description and author fields.

Marketplace storage locations

Store a marketplace JSON file at one of these paths in the marketplace root: .claude-plugin/marketplace.json, .agents/plugins/marketplace.json, or .agents/plugins/api_marketplace.json.

Local marketplace sources in catalog

Local source paths in a marketplace catalog must start with ./ and stay inside the marketplace root. Set metadata.pluginRoot when all local plugins share a different base directory.

External Git sources in marketplace

Marketplace entries can use external Git sources with supported types: github (with repo and ref fields), url, and git-subdir (with url, path, and ref fields). Remote URLs must use HTTPS.

Marketplace URL source limitations

A marketplace added as a direct JSON URL cannot contain local relative plugin sources because only the catalog file is downloaded. Use a Git repository or local directory when the catalog references plugin directories in the same source tree.

Testing local marketplace

Test a local marketplace by running: dcode plugin marketplace add ./my-marketplace, then dcode plugin install plugin-name@marketplace-name, and starting a new session or running /reload.

What plugins extend in Deep Agents Code

Plugins extend Deep Agents Code with reusable skills, MCP servers, and hooks. Marketplaces provide catalogs for discovering and installing plugins across projects or teams.

Plugin security warning

Plugins and marketplaces should be installed only from sources you trust. An enabled plugin can add instructions and run MCP servers or hook commands with your user permissions.

Interactive plugin management with /plugins command

Run /plugins to open the plugin manager in a dcode session. The plugin manager allows you to add marketplaces, install plugins, enable, disable, and uninstall installed plugins.

Supported marketplace sources

Marketplaces can be added from: a GitHub repository in owner/repo format optionally followed by @branch-or-tag, an HTTPS Git repository URL optionally followed by #branch-or-tag, an HTTPS URL that serves a marketplace JSON file, or a local marketplace directory or JSON file.

Activate plugins after installation

Run /reload to activate newly installed plugin skills, MCP servers, and hooks without restarting the session.

Plugin disabling behavior

Disabling a plugin keeps it installed but excludes its skills, MCP servers, and hooks after you run /reload or start a new session.

Removing a marketplace behavior

Removing a marketplace uninstalls its plugins and removes managed cache data. Deep Agents Code preserves the original source when the marketplace came from a local directory or file.

Plugin automatic updates configuration

Plugin authors opt into automatic updates by adding "autoUpdate": true to the "com.langchain.deepagents.code" extension block in the plugin's plugin.json. The running session continues to use its current plugin version until you run /reload. Disable automatic plugin updates globally by setting [plugins].auto_update = false in config.toml or DEEPAGENTS_CODE_PLUGIN_AUTO_UPDATE=false in the environment.

Command line plugin management with dcode plugin

Use dcode plugin for scripts and terminal-based administration. Plugin IDs use the format plugin-name@marketplace-name. Available commands include: dcode plugin marketplace add, dcode plugin marketplace list, dcode plugin list, dcode plugin install, dcode plugin disable, dcode plugin enable, dcode plugin uninstall, and dcode plugin marketplace remove. plugin list and plugin marketplace list accept --json flag.

Plugin skill invocation syntax

Invoke a plugin skill with its plugin ID and skill path: /skill:plugin-name@marketplace-name:skill-name optional arguments. In interactive mode, autocomplete also matches the shorter /plugin-name:skill-name form and expands it to the canonical /skill: command. Nested skill directories add each directory to the namespace.

Plugin skill namespace example

Nested skill directories add each directory to the namespace. For example, skills/review/security/SKILL.md from quality@acme-tools becomes /skill:quality@acme-tools:review:security.

MCP servers and hooks in plugins

An enabled plugin can contribute MCP servers which Deep Agents Code merges with regular MCP configuration when plugins load. Plugin hooks use the same lifecycle events and handler format as user and project hooks. Enabling the plugin is the only consent gate for its hooks; workspace trust applies to project hooks, not plugin hooks.

Plugin directory structure

A Deep Agents Code plugin is a directory containing any of: .claude-plugin/plugin.json, skills/ directory with skill subdirectories containing SKILL.md, hooks/hooks.json, and .mcp.json. Deep Agents Code also recognizes .codex-plugin/plugin.json. The manifest is optional when components use their default locations. If the plugin contains one skill only, SKILL.md can be placed at the plugin root instead of creating skills/.

Plugin manifest required and optional fields

When present, .claude-plugin/plugin.json or .codex-plugin/plugin.json must contain a name field. Optional fields include version, skills, mcpServers, and hooks. The skills, mcpServers, and hooks fields accept a path string or an array of paths. mcpServers and hooks can also contain inline configuration objects. Every component path must start with ./, remain inside the plugin root, and not contain ..

Slash command /scrollbar toggles chat scrollbar

The /scrollbar command shows or hides the chat scrollbar.

Slash command /line-numbers toggles diff line numbers

The /line-numbers command shows or hides file-relative line numbers in new diffs.

Slash command /auto-update toggles automatic updates

The /auto-update command toggles automatic updates on or off.

Slash command /install installs optional integrations

The /install command installs an optional integration.

Slash command /editor opens prompt in external editor

The /editor command opens the current prompt in an external editor specified by $VISUAL or $EDITOR environment variables.

Slash command /timestamps toggles message timestamps

The /timestamps command toggles message timestamp footers.

Enter key submits prompt

The Enter key submits the prompt in Deep Agents Code.

External editor environment variable fallback

Deep Agents Code checks $VISUAL, then $EDITOR, then falls back to vi (macOS/Linux) or notepad (Windows) for the external editor. GUI editors (VS Code, Cursor, Zed, etc.) automatically receive a --wait flag so Deep Agents Code blocks until the file is closed.

Example setting external editor in shell profile

Set export VISUAL="code" for a GUI editor (--wait auto-injected) or export EDITOR="nvim" for a terminal fallback in your shell profile (~/.zshrc, ~/.bashrc, etc.).

Ctrl+D exits Deep Agents Code

Ctrl+D exits Deep Agents Code.

Ctrl+U deletes from cursor to start of line

Ctrl+U deletes text from the cursor to the start of the line.

Ctrl+K deletes from cursor to end of line

Ctrl+K deletes text from the cursor to the end of the line.

Ctrl+W or Ctrl+Backspace deletes word to the left

Ctrl+W or Ctrl+Backspace deletes the word to the left of the cursor.

Slash command /agents hot-swaps between agents

The /agents command allows hot-swapping between pre-configured agents without relaunching.

Ctrl+Left and Ctrl+Right move cursor by word

Ctrl+Left moves the cursor one word left, and Ctrl+Right moves the cursor one word right.

Slash command /remember updates memory and skills

The /remember [context] command allows reviewing conversation and updating memory and skills. Context can be optionally passed as an argument.

Slash command /skill invokes skills directly

The /skill:<name> [args] command directly invokes a skill by name. The skill's SKILL.md instructions are injected into the prompt along with any arguments provided.

Slash command /skill-creator guides skill creation

The /skill-creator [task] command provides a guide for creating effective agent skills.

Multiple keyboard shortcuts for inserting newlines

Shift+Enter, Ctrl+J, Alt+Enter, or Ctrl+Enter insert a newline in the prompt input.

@ filename autocompletes and injects file content

Typing @filename auto-completes files and injects their content into the prompt.

Ctrl+X opens prompt in external editor

Ctrl+X opens the current prompt in an external editor as specified by $VISUAL or $EDITOR environment variables.

Ctrl+N reviews pending notifications

Ctrl+N reviews pending notifications in Deep Agents Code.

Ctrl+O expands or collapses tool output

Ctrl+O expands or collapses the most recent tool output.

Escape key interrupts current operation

Pressing Escape interrupts the current operation in Deep Agents Code.

Ctrl+C interrupts or quits application

Ctrl+C interrupts the current operation or quits Deep Agents Code.

Slash command /effort sets reasoning effort

The /effort command sets reasoning effort for the current model.

Ctrl+A or Home moves cursor to start of line

Ctrl+A or Home moves the cursor to the start of the line in text editing.

Ctrl+E or End moves cursor to end of line

Ctrl+E or End moves the cursor to the end of the line in text editing.

Slash command /model switches models

The /model command allows switching between models or opens an interactive model selector.

Slash command /mcp manages MCP servers

The /mcp command shows active MCP servers and tools. /mcp login <server> runs the OAuth flow for a server; /mcp reconnect loads deferred logins.

Slash command /plugins manages plugins and marketplaces

The /plugins command manages plugins and marketplaces.

Slash command /notifications configures startup warnings

The /notifications command configures startup warning preferences.

Slash command /theme opens interactive theme selector

The /theme command opens the interactive theme selector to switch color themes. Built-in themes are available plus any user-defined themes.

Thread-scoped sandbox pattern

Thread-scoped sandboxes follow this pattern: each conversation gets its own sandbox. The first run creates it; follow-up turns on the same thread reuse it. When the thread ends or the sandbox TTL expires, the environment goes away. Store the mapping with sandbox names or metadata so each run resolves to the same sandbox.

Assistant-scoped sandbox pattern

Assistant-scoped sandboxes follow this pattern: every thread on the same assistant reuses one sandbox. Files, installed packages, and cloned repositories persist across conversations. However, assistant-scoped sandboxes accumulate in-sandbox state over time, so you should configure a TTL with your sandbox provider, use snapshots to reset periodically, or implement cleanup logic so disk and memory do not grow without bound.

Sandbox as tool pattern benefits and tradeoffs

The sandbox as tool pattern has these benefits: update agent code instantly without rebuilding images, cleaner separation between agent state and execution (API keys stay outside the sandbox, sandbox failures don't lose agent state, option to run tasks in multiple sandboxes in parallel), and pay only for execution time. The tradeoff is network latency on each execution call.

Give your agent this brain