design-agent-deploy

$npx mdskill add langchain-ai/design-agent/design-agent-deploy

A deployment is what the team uses. Ask before `mda deploy`, before connecting Slack, and before anything that bills (publishing a snapshot, hosting). Never print a key; name missing settings. Setup comes first: `uv run design-agent doctor` should pass and the brand pack should validate (`design-agent-onboarding`, `brand-onboarding`).

SKILL.md

.github/skills/design-agent-deployView on GitHub ↗
---
name: design-agent-deploy
description: Put Design Agent in a team's Slack. Deploy it to Managed Deep Agents (one command, managed Slack app) or self-host it with Docker Compose, verify it with a real request, ship updates, and keep a separate test copy. Use when someone wants the agent running for their team.
---

# Deploy Design Agent

A deployment is what the team uses. Ask before `mda deploy`, before connecting Slack, and before
anything that bills (publishing a snapshot, hosting). Never print a key; name missing settings.
Setup comes first: `uv run design-agent doctor` should pass and the brand pack should validate
(`design-agent-onboarding`, `brand-onboarding`).

| | Managed Deep Agents (recommended) | Self-hosted |
| --- | --- | --- |
| Who runs it | LangSmith: runtime, sandboxes, Slack app, schedules | the person: API, Postgres, Docker host |
| Needs | a LangSmith organization with MDA access and a deployment-capable `LANGSMITH_API_KEY` | Docker with Compose v2.24+ |
| Cost | hosting is paid, plus model and media spend | their machine, plus model and media spend |

## Managed Deep Agents

1. **Publish the computer once.** `uv run design-agent sandbox build && uv run design-agent sandbox test`
   proves the recipe locally; `uv run design-agent sandbox publish --fs-gib 16` builds the snapshot
   in their workspace (sandbox time is billed). Publish again whenever `sandbox/setup.sh` changes.
2. **Check the keys.** `mda deploy` forwards every `.env` key except LangSmith's as a deployment
   secret. List the key *names* in `.env` and confirm they are only what the deployed agent uses
   (model, media, `DESIGN_AGENT_*`, `PAPER_*`); self-hosting keys (`SLACK_*`, `DATABASE_URL`,
   `DESIGN_AGENT_API_TOKENS`) must not be there. Renders in `workspace/out/` ship too and count
   toward MDA's 200 MB archive limit. `uv run design-agent doctor` names all of this
   (`mda-deploy`), and `uv run mda build` compiles what would ship into `.mda/build/`.
3. **Try a copy first.** `uv run mda deploy --name design-agent-test` is a separate deployment; the
   team's agent is untouched.
4. **Deploy** with `uv run mda deploy` after a yes. The first deploy provisions the Slack app; the
   person authorizes it in their Slack workspace. Without a `LANGSMITH_API_KEY`, `mda deploy`
   offers a browser sign-in.
5. **Verify with real requests:** a quick still, then a short storyboarded teaser. In Slack you
   should see live progress, a check-in while it renders, and files attached at the end. Without
   Slack, call the deployment's API ([docs/deploy-mda.md](../../../docs/deploy-mda.md) has the
   snippet); files attach to the run's LangSmith trace. `uv run mda logs` tails the deployment.
6. **Updates:** change, deploy the test copy, then `uv run mda deploy`. A redeploy stops running
   helpers; each affected thread offers to resume from its saved transcript.

## Self-hosted

1. `uv run design-agent config set DESIGN_AGENT_MODEL=…` (the person types the key or sets it in
   `.env`), then `uv run design-agent config generate DESIGN_AGENT_API_TOKENS POSTGRES_PASSWORD`.
2. `docker compose -f deploy/self-host/compose.yaml up -d --build`, then
   `curl -s http://127.0.0.1:8080/health`.
3. **Slack (optional):** create an app from `config/slack-manifest.example.yaml`, set
   `SLACK_BOT_TOKEN` and `SLACK_APP_TOKEN`, then add `--profile slack` to the compose command.
4. **Verify:** `POST /threads/{id}/messages` with `Authorization: Bearer <token>`, then poll
   `GET /threads/{id}/updates` for background work.
5. **Security:** the API starts sandboxes through the Docker socket, which is root-equivalent. Use a
   dedicated host, or LangSmith sandboxes (`DESIGN_AGENT_SANDBOX=langsmith`) without the socket.

A local preflight does not prove a deployment: only a real request does. Details:
[Deploy with MDA](../../../docs/deploy-mda.md), [Self-hosting](../../../docs/self-hosting.md).

More from langchain-ai/design-agent

SkillDescription
brand-onboardingBuild the active brand pack in workspace/brand/ from a brand guide, website, files or a Paper file, validate it, and have a person review it.
data-vizCharts, stat cards, flywheels and diagrams (flows, architectures, hierarchies) rendered on brand from a JSON spec to PNG and SVG. Use for any visual whose job is numbers or relationships, including restyling an attached chart or diagram.
design-agent-customizeChange what Design Agent knows and does. Teach it a new deliverable with a runtime skill, change its instructions, design doctrine or checks, connect MCP servers and tools, or change models and cost caps. Use when someone wants it to make something new, follow a new rule, or use another tool.
design-agent-evalsFind out whether a change made Design Agent better or worse. Run the eval set or a few tasks before and after against the same model, read the reports, look at the files, and turn a real request that went wrong into a task. Use after changing instructions, skills, checks or models, or when someone asks how good it is.
design-agent-onboardingInstall and configure Design Agent, add a brand, connect Paper, choose MDA or self-hosting, and diagnose setup without exposing credentials.
design-agent-troubleshootDiagnose Design Agent when something fails. Setup, a render, a deploy, Slack or a model call. Run doctor and the connection tests, read logs and traces, match the symptom to its fix, and never print credentials. Use when a command errors, a reply never comes, or a file looks wrong.
design-agent-updateBring a fork or clone of Design Agent up to date with the upstream repository while keeping the team's brand, skills and edits, rebuild what changed, and redeploy safely. Use when someone asks to update, upgrade or pull the latest Design Agent.
design-wikiDesign doctrine to weigh on any visual. Hierarchy, typography, colour, layout, platform sizes, chart and diagram principles, and the review rubric critics score against.
embedded-captions>
faceless-explainerTurn arbitrary text — an article, notes, a topic, a brief — into a faceless explainer video: there is no site or footage to capture, so the visuals are invented per scene (typography, abstract graphics, diagrams, data-viz). Use for topic explainers, concept breakdowns, how-tos, listicles. Not a video built from a website (/product-launch-video — promo or tour). Unclear → /hyperframes.